在jQuery中序列化为JSON [重复]?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (140)

这个问题在这里已有答案:

我需要将对象序列化为JSON。我正在使用jQuery。是否有“标准”方法来做到这一点?

我的具体情况:我有一个定义如下所示的数组:

var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
...

我需要把它变成一个字符串传递给$.ajax()这样:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: "{'countries':['ga','cd']}",
...
提问于
用户回答回答于

JSON-js - JavaScript中的JSON。

要将对象转换为字符串,请使用JSON.stringify

var json_text = JSON.stringify(your_object, null, 2);

要将JSON字符串转换为对象,请使用JSON.parse

var your_object = JSON.parse(json_text);

它最近由John Resig推荐:

...请开始将使用JSON的应用程序迁移到Crockford的json2.js。它与ECMAScript 5规范完全兼容,如果存在本机(更快!)实现,则会优雅地降级。 事实上,我刚刚在jQuery中进行了一次更改,它使用了JSON.parse方法,如果它存在,现在已经完全指定了。

我倾向于相信他在JavaScript问题上所说的话:)

较新的浏览器本身支持JSON对象。Crockford的JSON库的当前版本将仅定义JSON.stringifyJSON.parse如果它们尚未定义,则保留任何浏览器本机实现。

用户回答回答于

我一直在使用jquery-json 6个月,效果很好。它使用起来非常简单:

var myObj = {foo: "bar", "baz": "wockaflockafliz"};
$.toJSON(myObj);

// Result: {"foo":"bar","baz":"wockaflockafliz"}

扫码关注云+社区

领取腾讯云代金券