私は別のjson文字列化オブジェクトの値を持つプロパティを含むjavascriptオブジェクトを持っています。文字列の出力版をオブジェクト形式に戻すことができません。次のコードを参照してください。 json
文字列のconsole.log
出力内容は、jsonFromStr
とまったく同じです。ただし、JSON.parse(json)
はOKですが、JSON.parse(jsonFromStr)
はエラーです。ここで何が間違っていますか?Javascript JSONは多レベルの解析と文字列化
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