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 是多余的。
关于javascript - 如何准备一个可解析的 json 对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39332089/