Сведения о вопросе

Fhohir

11:46, 24th August, 2020

Теги

javascript   ajax   json   air    

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

Просмотров: 439   Ответов: 5

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

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

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


Обновление:

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

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

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



  Сведения об ответе

screen

06:15, 2nd August, 2020

Вы можете найти парсер JSON, написанный на JavaScript здесь ( исходный код здесь). Вы также можете использовать синтаксический анализатор as3corelib JSON из JavaScript, здесь описано, как получить доступ к библиотекам ActionScript из JavaScript .


  Сведения об ответе

lats

10:18, 9th August, 2020

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


  Сведения об ответе

davran

23:34, 4th August, 2020

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


  Сведения об ответе

LIZA

02:46, 3rd August, 2020

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


  Сведения об ответе

KOMP

14:27, 14th August, 2020

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

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться