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对象数组。
答案 0 :(得分:3)
您无法将对象附加到字符串。您需要JSON.stringify()
cdrDisplayFields[0]
对象:
var a = '{"cdrColumnFields":' + JSON.stringify(cdrDisplayFields[0]) + '}';
请注意,很多更好的选择是自己创建一个对象,然后将它们全部串联起来,如下所示:
var a = JSON.stringify({ cdrColumnFields: cdrDisplayFields[0] });
另请注意,将上述对象转换为JSON是多余的,如果您要做的只是$.parseJSON
它再次返回到对象。