web-dev-qa-db-ja.com

JSON内のJSON文字列

JSONリクエスト内にJSON文字列を作成します。これが私のコードです、

フィドル

[〜#〜] js [〜#〜]

var x = {
    a: 1,
    b: 'a sample text',
};

var request = {
    t: JSON.stringify(x),
    c: 2,
    r: 'some text'
};

console.log(request);

誰かが二重引用符をエスケープする方法を手伝ってくれる?

コンソール

Object {
  t: "{"a":1,"b":"a sample text"}", //This creates a problem, double quotes inside double quotes.
  c: 2, 
  r: "some text"
}

前もって感謝します。

12
moustacheman

これは、ブラウザコンソールが出力の二重引用符で囲むことによって文字列の値を表示する方法です。これは完全に正常で、何も壊れていません。

JSON文字列をオブジェクトに変換し直し、プロパティを使用してテストできます。

console.log( JSON.parse(request.t).b ); // a sample text
6
MrCode

問題はない。 console.logで区切るだけですべての文字列を表示するのは、"だけです。

あなたが言うように、このrequestオブジェクトはJSONリクエストで使用され、有効な結果とともに別の時間にJSON.stringifyedされます

{"t":"{\"a\":1,\"b\":\"a sample text\"}","c":2,"r":"some text"}
6
Bergi