2016-09-05 3 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 

Wie ein gültiges JSON-Array von Objekten vorzubereiten, wenn ich ein Array von Objekten habe.Wie bereitet man ein parsbares JSON-Array von Objekten auf?

Antwort

3

Sie können kein Objekt an eine Zeichenfolge anhängen. Sie müssen die cdrDisplayFields[0] Objekt JSON.stringify():

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

Beachten Sie, dass ein viel bessere Alternative ein Objekt selbst zu erstellen wäre und stringify sie dann alle zusammen, wie folgt aus:

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

Beachten Sie auch, dass Das obige Objekt in JSON zu verwandeln ist überflüssig, wenn Sie nur noch $.parseJSON zurück zu einem Objekt machen wollen.

+0

Danke, es hat mir wirklich geholfen, das Problem zu lösen. // cdrDisplayFields ist ein Array von Objekten var b = JSON.stringify ({cdrColumnFields: cdrDisplayFields}); console.log (b); –

Verwandte Themen