Преобразовать объект в строку JSON
jQuery.parseJSON('{"name":"John"}')
преобразует строковое представление в объект, но я хочу наоборот. Объект должен быть преобразован в строку JSON. Я получил ссылку http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html но для этого требуется json2.js. В jQuery есть нативный способ сделать это?
4 ответа
JQuery только делает некоторую проверку регулярного выражения перед вызовом собственного метода браузера window.JSON.parse()
, Если это не доступно, он использует eval()
или точнее new Function()
создать объект Javascript.
Противоположно JSON.parse()
является JSON.stringify()
который сериализует объект Javascript в строку. JQuery не имеет собственной функциональности для этого, вы должны использовать встроенную версию браузера или json2.js
с http://www.json.org/
JSON.stringify()
доступно во всех основных браузерах, но для совместимости со старыми браузерами этот резерв все еще необходим.
Также полезным является Object.toSource() для целей отладки, где вы хотите показать объект и его свойства для целей отладки. Это универсальная функция Javascript (не jQuery), однако она работает только в "современных" браузерах.
Конвертировать объект 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/
Вы можете использовать отличный плагин jquery-Json:
http://code.google.com/p/jquery-json/
Облегчает преобразование в и из объектов Json.