我有一个数组var cars = [2,3,..],其中包含几个整数。 我已经向数组中添加了一些值,但是现在我需要通过jQuery的.get方法将这个数组发送到页面。如何将其转换为JSON对象进行发送?


当前回答

向后兼容的脚本: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

和电话:

var myJsonString = JSON.stringify(yourArray);

注意:JSON对象现在是大多数现代web浏览器(IE 8及以上)的一部分。参见caniuse获取完整列表。感谢@Spudley在下面的评论

其他回答

如果你只有一个像你问的对象,下面的工作。

var x = [{'a':'b'}];
var b= JSON.stringify(x);
var c = b.substring(1,b.length-1);
JSON.parse(c); 

向后兼容的脚本: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

和电话:

var myJsonString = JSON.stringify(yourArray);

注意:JSON对象现在是大多数现代web浏览器(IE 8及以上)的一部分。参见caniuse获取完整列表。感谢@Spudley在下面的评论

答案在2022年

我认为这是最好最干净的答案。

使用Json .stringify(),我们将JavaScript数组转换为Json字符串。使用Json .parse(),我们将Json字符串转换为Json对象。

var JsonObject, jsArray; // JS数组 jsArray = ["one", "two", "three"]; //将(js数组)转换为(json对象) JsonObject = JSON.parse(JSON.stringify(jsArray)); / /类型 console.log("Json类型是:" + typeof(JsonObject)); / / JsonObject console.log(“Json值是:”+ JsonObject);

我决定使用json2库,我得到了一个关于“循环数据结构”的错误。

我通过告诉json2如何转换我的复杂对象来解决这个问题。它现在不仅可以工作,而且我只包括了我需要的字段。以下是我的做法:

OBJ.prototype.toJSON = function (key) {
       var returnObj = new Object();
       returnObj.devid = this.devid;
       returnObj.name = this.name;
       returnObj.speed = this.speed;
       returnObj.status = this.status;
       return returnObj;
   }

因为我的数组如下所示: 我使用.push函数动态创建它

my_array = ["234", "23423"];

我把数组转换成json的唯一方法是

json = Object.assign({}, my_array);