我有一个数组( var cars = [] ),它包含一些整数 . 我've added a few values to the array, but I now need to send this array to a page via jQuery' s .get 方法 . 如何将其转换为JSON对象以进行发送?
var jsonArg1 = new Object();
jsonArg1.name = 'calc this';
jsonArg1.value = 3.1415;
var jsonArg2 = new Object();
jsonArg2.name = 'calc this again';
jsonArg2.value = 2.73;
var pluginArrayArg = new Array();
pluginArrayArg.push(jsonArg1);
pluginArrayArg.push(jsonArg2);
将pluginArrayArg(纯javascript数组)转换为JSON数组:
var jsonArray = JSON.parse(JSON.stringify(pluginArrayArg))
6 回答
向后兼容的脚本:https://github.com/douglascrockford/JSON-js/blob/master/json2.js
并致电:
Note: JSON对象现在是大多数现代Web浏览器(IE 8及更高版本)的一部分 . 有关完整列表,请参阅caniuse . 归功于:@Spudley在下面的评论
我这样做了:
如果我有:
将pluginArrayArg(纯javascript数组)转换为JSON数组:
哇,现在看起来好多了......你可以做3种方法:
我决定使用json2库,我得到一个关于“循环数据结构”的错误 .
我通过告诉json2如何转换我的复杂对象来解决它 . 它不仅现在有效,而且我只包括我需要的字段 . 我是这样做的:
或者尝试将数组定义为对象 . (var cars = {};)然后就没有必要转换为json了 . 这在你的例子中可能不实用,但对我来说效果很好 .
如果您只有一个对象,例如您提出的对象,则以下内容将起作用 .