var cdrType = $('.switchSelect').val();
console.log(cdrDisplayFields);//[Object, Object, Object, Object, Object, Object]
var a = '{"cdrColumnFields":'+cdrDisplayFields[0]+'}';
console.log(a); //{"cdrColumnFields":[object Object]}
console.log(cdrDisplayFields[0]); //Object {cdrName: "EQUIPMENTID", type: "date", index: 0}
console.log($.parseJSON(a)); //VM2901:1 Uncaught SyntaxError: Unexpected token o in JSON at position 20


如果我有对象数组,如何准备有效的json对象数组。

最佳答案

您不能将对象附加到字符串。您需要JSON.stringify() cdrDisplayFields[0]对象:

var a = '{"cdrColumnFields":' + JSON.stringify(cdrDisplayFields[0]) + '}';


请注意,更好的选择是自己创建一个对象,然后将其全部字符串化,如下所示:

var a = JSON.stringify({ cdrColumnFields: cdrDisplayFields[0] });


还请注意,如果您要做的只是将$.parseJSON再次返回一个对象,则将上述对象转换为JSON是多余的。

10-04 21:37
查看更多