Библиотека jQuery имеет прекрасный метод $.parseJSON, который помогает преобразовать JSON-строку в объект. Но метода, выполняющего обратные действия, как ни странно, в библиотеке нет.
Решить этот вопрос поможет небольшая сторонняя библиотека, расширяющая возможности самого jQuery. Официальная страница библиотеки здесь.
Итак, после подключения библиотеки пространство $. расширится четырьмя функциями:
// Преобразует javascript-объект jsObj в JSON-строку. $.toJSON(jsObj):string // Преобразует JSON-строку в javascript-объект (не безопасно — без выполнения валидации данных. НО БЫСТРО!). $.evalJSON(jsonString):object // Преобразует JSON-строку в javascript-объект (безопасно — выполняет валидацию входных данных). $.secureEvalJSON(jsonString):object // Добавляет в начало и конец строки двойные кавычки, при этом экранирует в ней все другие кавычки, обратные слеши и прочие управляющие символы. $.quoteString(str):string
Библиотека занимает очень мало места (порядка 2 КБ), но, в некоторых, случаях может быть очень полезной.