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