我需要将一个对象序列化为JSON。我正在使用jQuery。有没有“标准”的方式来做到这一点?
我的具体情况:我有一个定义如下的数组:
var countries = new Array(); countries[0] = 'ga'; countries[1] = 'cd'; ...
我需要将其转换为字符串以$.ajax()像这样传递:
$.ajax()
$.ajax({ type: "POST", url: "Concessions.aspx/GetConcessions", data: "{'countries':['ga','cd']}", ...
JSON-js -JavaScript中的JSON。
要将对象转换为字符串,请使用JSON.stringify:
JSON.stringify
var json_text = JSON.stringify(your_object, null, 2);
要将JSON字符串转换为对象,请使用JSON.parse:
JSON.parse
var your_object = JSON.parse(json_text);
John Resig最近推荐了它:
…请开始将使用JSON的应用程序迁移到Crockford的json2.js。它与ECMAScript 5规范完全兼容,并且在存在本机(更快!)实现的情况下可以优雅地降级。 实际上,昨天我刚刚在jQuery中进行了一次更改,该更改利用了JSON.parse方法(如果存在),因为它已经被完全指定。
…请开始将使用JSON的应用程序迁移到Crockford的json2.js。它与ECMAScript 5规范完全兼容,并且在存在本机(更快!)实现的情况下可以优雅地降级。
实际上,昨天我刚刚在jQuery中进行了一次更改,该更改利用了JSON.parse方法(如果存在),因为它已经被完全指定。
我倾向于相信他在JavaScript问题上所说的话:)
所有现代浏览器(以及许多较旧的较旧的浏览器)都原生支持JSON对象。Crockford的JSON库的当前版本仅会定义JSON.stringify,JSON.parse如果尚未定义,则任何浏览器本机实现都将保持不变。