Преобразовать объект в строку JSON - PullRequest
120 голосов
/ 11 октября 2010

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

Ответы [ 4 ]

181 голосов
/ 11 октября 2010

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

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

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

12 голосов
/ 22 мая 2011

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

4 голосов
/ 28 ноября 2016

Преобразование объекта 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

2 голосов
/ 16 марта 2013

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

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

Облегчает преобразование в и из объектов Json.

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