Универсальный json сериализатор / десериализатор в jQuery? - PullRequest
1 голос
/ 01 мая 2009

Дубликат: Сериализация в JSON в jQuery

Кажется, в JQuery встроен сериализатор / десериализатор JSON, поскольку он может реализовывать такие вещи, как .getJSON. Можно ли использовать встроенный в JQuery JSON-процессор сам по себе JSON-процессор общего назначения (т.е. сделать вызов jQuery.something () для сериализации / десериализации моих собственных данных), устраняя необходимость в отдельной библиотеке JSON?

Обновление: в ответах на вопрос, упомянутый выше, говорится, что в jQuery нет кода сериализации JSON. Как насчет десериализации JSON? Как реализован .getJSON и почему возможности десериализации не предоставляются для общего использования?

Update2: я уже использую json2 с json.org, я пытаюсь избавиться от него, поскольку все, что я делаю, - это простая десериализация. Похоже, JQuery просто делает Eval? У меня сложилось впечатление , что это было не так хорошо для безопасности :

Функция eval очень быстрая. Тем не менее, он может скомпилировать и выполнить любая программа на JavaScript, так что можно быть вопросы безопасности

Ответы [ 4 ]

3 голосов
/ 01 мая 2009

Похоже, вам нужна реализация сериализации / десериализации, доступная по http://www.json.org/js.html, которая предоставляет JSON.parse () и JSON.stringify (), облегчая (де) сериализацию и проверку данных.

Если вы просто хотите перевести текст JSON в объект, используйте функцию eval ().

2 голосов
/ 03 декабря 2009

jQuery сейчас использует только eval (). JQuery 1.4 будет включать поддержку десериализации JSON в браузерах, поддерживающих ее. Вы можете воспользоваться этим сейчас, если хотите, используя обратный вызов dataFilter jQuery, чтобы избежать eval (), когда это возможно (поместите его в $ .ajaxSetup, чтобы повлиять на все $ .ajax (), $ .post ( ), $ .getJSON () вызывается автоматически).

2 голосов
/ 01 мая 2009

Я только начал использовать jQuery, и я считаю, что проще всего добавить библиотеку JSON2.js из JSON.org, а затем расширить jQuery для ее использования.

1 голос
/ 01 мая 2009

Я считаю, что для десериализации входящих данных json jQuery просто eval (). Я не знаю ни одной встроенной сериализации.

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