Adobe AIR: обработка объектов JSON с сервера - PullRequest
6 голосов
/ 22 августа 2008

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

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

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


Обновление:

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

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

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
, расширенный Adobe AIR. Проверьте ссылку Тео для более подробной информации!

Ответы [ 5 ]

6 голосов
/ 24 августа 2008
3 голосов
/ 24 декабря 2010

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

2 голосов
/ 22 августа 2008

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

0 голосов
/ 25 августа 2008

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

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

Еще одна связанная статья: Построение на AIR: работа с мостами из песочницы

0 голосов
/ 22 августа 2008

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 - хорошее место для старта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...