У меня есть сценарий, который извлекает объекты с удаленного сервера через вызов 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!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы смотрели 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 - хорошее место для начала.
Вы можете найти Парсер JSON, написанный на JavaScript здесь (исходный код здесь). Также можно использовать парсер JSON as3corelib из JavaScript, там описание того, как получить доступ к библиотекам ActionScript из JavaScript здесь.
Я думаю, что это возможно, если вы используете мост iframe и песочницу. Вы должны иметь возможность запускать eval () для загруженного кода в изолированном фрейме iframe,
Отрывок из Документы Adobe AIR 1.1 «... может быть удобнее запускать контент в изолированном дочернем фрейме, чтобы контент можно было запускать без ограничений на eval () ...»
Другая статья по теме: Основываясь на AIR: работа с мостами песочницы
Текущий выпуск AIR (v2.5) включает в себя более новый WebKit, имеющий встроенную поддержку JSON, через JSON.stringify () и JSON.parse ().