日期:2014-05-16  浏览次数:20378 次

JSON.stringify格式化数组的问题
为什么JSON.stringify格式化数组时会多2个引号,比如数组var a = [{ProductId:4,Qty:2},{ProductId:2,Qty:3};
然后alert(JSON.stringify(a));弹出窗口显示的是"[{\"ProductId\":\"4\",\"Qty\":\"2\"},{\"ProductId\":\"2\",\"Qty\":\"3\"}]",多了2个引号啊。。。。这样提交到服务器无法解析json啊。。我把2个引号去了服务器就解析成功了

------解决方案--------------------
没有出现你说的这种情况。
JScript code
var a = [{ProductId:4,Qty:2},{ProductId:2,Qty:3}];
var str_JSON = JSON.stringify(a);
alert(str_JSON); //[{"ProductId":4,"Qty":2},{"ProductId":2,"Qty":3}]

------解决方案--------------------
JScript code

var a = [{ProductId:4,Qty:2},{ProductId:2,Qty:3}];
var jsonStr = JSON.stringify( a );   
alert(typeof jsonStr); // string
alert(JSON.parse(jsonStr)); //[object Object],[object Object]