Ich habe ein Javascript-Objekt, das eine Eigenschaft mit Werten eines anderen JSON Stringed Objekt enthält. Ich kann die gedruckte Version der Zeichenfolge nicht in Objektform abrufen. Siehe den folgenden Code. Der console.log
Ausgabeinhalt von json
Zeichenfolge ist genau so rechts von jsonFromStr
. JSON.parse(json)
ist jedoch in Ordnung, während JSON.parse(jsonFromStr)
Fehler ist. Was ist hier falsch?Javascript JSON parse und stringify für mehrere Ebenen
jsfiddle: http://jsfiddle.net/jma7889/qtmmpj2t/
level2Obj = { key2a: "foo", key2b: 3};
level2ObjJson = JSON.stringify(level2Obj);
level1Obj = {key1a: "bar", key1b: {level2ObjJson}};
json = JSON.stringify(level1Obj);
jsonFromStr = '{"key1a":"bar","key1b":{"level2ObjJson":"{\"key2a\":\"foo\",\"key2b\":3}"}}'; // same than json
objFromStrify = JSON.parse(json); // OK
objFromAssignedString = JSON.parse(jsonFromStr); // Uncaught SyntaxError: Unexpected token l in JSON at position 45
Es funktioniert so, danke! –
Gern geschehen. – trincot