Преобразование объекта в строку JSON

jQuery.parseJSON('{"name":"John"}') преобразует представление строки в объект но я хочу наоборот. Объект должен быть преобразован в строку JSON Я получил ссылку http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html но для этого нужно иметь json2.js. У jQuery есть собственный метод для этого?

Ответ 1

jQuery выполняет только некоторую проверку регулярного выражения перед вызовом собственного метода браузера window.JSON.parse(). Если это не доступно, для создания объекта Javascript он использует eval() или более точно new Function().

Противоположностью JSON.parse() является JSON.stringify(), который сериализует объект Javascript в строку. Для этого у jQuery нет собственной функциональности, вы должны использовать встроенную версию браузера или json2.js из http://www.json.org

JSON.stringify() доступен во всех основных браузерах, но для совместимости с более старыми браузерами вам все равно требуется резервное копирование.

Ответ 2

Также полезно использовать Object.toSource() для целей отладки, где вы хотите показать объект и его свойства для целей отладки. Это универсальная функция Javascript (не jQuery), однако она работает только в "современных" браузерах.

Ответ 3

Преобразование объекта JavaScript в json-данные

$("form").submit(function(event){
  event.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvertedData = JSON.stringify(formData);  // Convert to json
  consol.log(jsonConvertedData);
});

Вы можете проверить данные json, используя http://jsonlint.com

Ответ 4

Вы можете использовать отличный плагин jquery-Json:

http://code.google.com/p/jquery-json/

Легко конвертировать в объекты Json и из них.