一尘不染

JavaScript在jQuery中序列化为JSON

javascript

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

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

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

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

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

阅读 322

收藏
2020-04-23

共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-04-23