我有一個JavaScript對象,其中包含一個屬性與另一個json字符串化對象的值。我無法將字符串的打印輸出版本返回到對象窗體。請參閱以下代碼。 console.log
輸出內容爲json
的字符串與jsonFromStr
的右側完全相同。但是,JSON.parse(json)
是好的,而JSON.parse(jsonFromStr)
是錯誤的。這裏有什麼問題?Javascript JSON解析和stringify爲多個級別
的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
它這樣工作,謝謝! –
不客氣。 – trincot