【发布时间】:2011-04-23 16:29:40
【问题描述】:
jQuery.parseJSON('{"name":"John"}') 将字符串表示形式转换为对象
但我想要相反。对象将被转换为 JSON 字符串
我有一个链接http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html
但它需要有json2.js jQuery 有一个native 方法来做到这一点?
【问题讨论】:
jQuery.parseJSON('{"name":"John"}') 将字符串表示形式转换为对象
但我想要相反。对象将被转换为 JSON 字符串
我有一个链接http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html
但它需要有json2.js jQuery 有一个native 方法来做到这一点?
【问题讨论】:
jQuery 只在调用本机浏览器方法window.JSON.parse() 之前进行一些正则表达式检查。如果不可用,它会使用eval() 或更确切地说是new Function() 创建一个Javascript 对象。
JSON.parse() 的反面是JSON.stringify(),它将 Javascript 对象序列化为字符串。 jQuery没有自己的功能,你必须使用浏览器内置版本或json2.js from http://www.json.org
JSON.stringify() 在所有主流浏览器中都可用,但要与旧版浏览器兼容,您仍然需要回退。
【讨论】:
var theObject = (typeof data == "string") ? jQuery.parseJSON(data) : data;
JSON 主机对象。
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);
});
您可以使用 http://jsonlint.com 验证 json 数据
【讨论】:
【讨论】: