2017-06-05 4 views
0

Ich habe dieses Beispiel-Code analysieren:kann nicht Zeichenfolge Array innerhalb eines Arrays

let testData= [{name:'Joshua',age:22,option:"[{value:'test'}]"},{name:'Ali',age:200,option:"[{value:'test2'}]"}] 

let parsedData=JSON.parse(testData[0].option); 
console.log(parsedData); 

Testen mein Code die Nutzung dieser Website: https://es6console.com/

Es scheint, dass ich nicht in der Lage, die Daten zu analysieren & log in alle.

Irgendwelche Ideen, warum das passiert?

+3

'option' ungültig JSON ist als' value' zitiert werden muss ... ' '[{ "Wert": "test"}]'' – evolutionxbox

Antwort

1

Ihre option Zeichenfolge folgt nicht die JSON-Spezifikationen: in JSON jeder Schlüssel und String-Wert in Doppel Anführungszeichen eingeschlossen werden muss. So würde diese Arbeit:

let testData= [{ 
 
    name: 'Joshua', 
 
    age: 22, 
 
    option: '[{"value": "test"}]' 
 
}, { 
 
    name: 'Ali', 
 
    age: 200, 
 
    option: '[{"value": "test2"}]' 
 
}]; 
 

 
let parsedData = JSON.parse(testData[0].option); 
 
console.log(parsedData);

+0

Danke, das hat funktioniert! –

0

Ich denke, das Problem ist, dass die Felder des JSON-Objekts in doppelte Anführungszeichen eingeschlossen werden sollten. Zum Beispiel

let testData = [{name:'Joshua',age:22,option:`[{"value":'test'}]`},{name:'Ali',age:200,option:`[{"value":'test2'}]`}] 
Verwandte Themen