2016-09-05 7 views
0
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配列を準備するには?

答えて

3

文字列にオブジェクトを追加することはできません。

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

をもことに注意してください:ずっとより良い代替手段はこのように、自分でオブジェクトを作成し、それをすべて一緒文字列化するだろうと

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

注:あなたはcdrDisplayFields[0]オブジェクトをJSON.stringify()する必要があります上記のオブジェクトをJSONに変換するのは、あなたがしようとしているのは、$.parseJSONオブジェクトにもう一度戻ってしまうと冗長です。

+0

ありがとうございます、本当に問題を解決するのに役立ちました。 // cdrDisplayFieldsはオブジェクトの配列です var b = JSON.stringify({cdrColumnFields:cdrDisplayFields}); console.log(b); –

関連する問題