Каков наиболее эффективный способ анализа json в jquery? - PullRequest
0 голосов
/ 26 марта 2010

Я использую данные json, перебираю их через jquery и показываю свои результаты ...

Использование var jsonObj = JSON.parse(HfJsonValue); работает в firefox, но не в IE6 ....

HfjsonValue - это строка json, которая возвращается из моего aspx code behind page ... ТАК, я не использую ajax ... Любое предложение, чтобы лучше проанализировать мой json и использовать один браузер ...

1 Ответ

6 голосов
/ 26 марта 2010

Возможно это: http://api.jquery.com/jQuery.parseJSON/

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );

... ну, конечно, это только если вы хотите использовать jQuery 1.4. :) Я думаю, что встроенная функциональность JSON является довольно новым дополнением к браузерам, которые на самом деле пытаются реализовать стандарты.

Редактировать

Точно так же вы можете превратить строку JSON в объект JavaScript, вызвав для него функцию «eval»:

var obj = eval('({"name":"John"})');
alert( obj.name === "John" );

Это должно дать тот же результат, что и jQuery parseJSON выше. Разница в том, что JavaScript-функция «eval» будет запускать любой код внутри, поэтому, если источником вашего JSON является внешний сайт или другой ненадежный источник, этот источник может внедрить вредоносный код в строку, которая, как вы ожидаете, будет содержать только JSON.

Я полагаю, что существует новая рекомендация о том, что браузеры должны реализовывать встроенный синтаксический анализ JSON, который обеспечит принудительный литеральный формат объекта JavaScript в строке, что обеспечит безопасную альтернативу "eval".

Редактировать 2

Никогда фактически не используя eval для обработки JSON, я неправильно предположил, что мой пример будет работать. Это исправлено с добавлением окружающих скобок.

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