小编典典

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

ajax

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

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

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

我需要将其转换为字符串以$.ajax()像这样传递:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: "{'countries':['ga','cd']}",
...

阅读 230

收藏
2020-07-26

共1个答案

小编典典

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如果尚未定义,则任何浏览器本机实现都将保持不变。

2020-07-26