Adobe AIR: обработка объектов JSON с сервера

У меня есть сценарий, который извлекает объекты с удаленного сервера через вызов Ajax. Сервер возвращает объекты в нотации JSON.

Однако в Adobe AIR существует ограничение на использование eval () по соображениям безопасности. Таким образом, я могу получать ответы с удаленного сервера, но не могу превратить их обратно в объекты JavaScript. Есть ли способ решения этой проблемы? Я хотел бы использовать JSON для своих объектов JavaScript, поскольку его можно использовать практически сразу.

Примечание: я понимаю последствия для безопасности при возникновении проблемы, но я буду быстро разрабатывать приложение для конкурса, поэтому программа будет только быстрым прототипом и не будет использоваться в производственных целях. Тем не менее, было бы здорово, если бы была лучшая альтернатива тому, что я пытаюсь сделать сейчас.


Обновлять:

Спасибо Тео и jsight за их ответы;

Одна важная вещь, которую я узнал сегодня, заключается в том, что я действительно могу использовать библиотеки ActionScript, используя

<script src = "lib/myClasses.swf" type = "application/x-shockwave-flash"></script>
tag extended by Adobe AIR. Check out Тео link for more details!
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
7
0
4 881
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы смотрели as3corelib? Похоже, что он предоставляет парсер AS3 для данных JSON, и я надеюсь, что он не полагается на eval (eval имеет тенденцию быть плохим для безопасности, как вы заметили). Существуют аналогичные библиотеки для Javascript, и они, как правило, являются предпочтительным способом синтаксического анализа json из-за последствий для безопасности вызова eval для (потенциально) вредоносных данных.

JSON - это нотация объектов Javascript, поэтому, если вы используете Javascript, вы уже там! Взгляните на эти ссылки, они дают примеры того, как создавать объекты Javascript из JSON:

http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)

http://betterexplained.com/articles/using-json-to-exchange-data/

Если вы решите пойти по маршруту Flex / AS3, то, как сказано в jsight, as3corelib - хорошее место для начала.

Ответ принят как подходящий

Я думаю, что это возможно, если вы используете мост iframe и песочницу. Вы должны иметь возможность запускать eval () для загруженного кода в изолированном фрейме iframe,

Отрывок из Документы Adobe AIR 1.1 «... может быть удобнее запускать контент в изолированном дочернем фрейме, чтобы контент можно было запускать без ограничений на eval () ...»

Другая статья по теме: Основываясь на AIR: работа с мостами песочницы

Текущий выпуск AIR (v2.5) включает в себя более новый WebKit, имеющий встроенную поддержку JSON, через JSON.stringify () и JSON.parse ().

Другие вопросы по теме