"を削除する方法 javascriptで私のJsonから?


82

私は私のbackbone.jsアプリにjsonを注入しようとしています。私のjsonは"すべての引用にています。

これを削除する方法はありますか?
以下にサンプルを提供しました。

[{"Id":1,"Name":"Name}]

3
そもそもこれを止めてみませんか?現在、JSONはまったくありませんが、少し似ています。
軌道上のライトネスレース

引用符をエンコードしていました。これは、Jsonとは関係ありませんが、ASP.NETMVCとはまったく異なる問題です。この投稿を削除することをお勧めします。
フランキー

回答:


162

おそらく、変数にそれがあり、を使用していJSON.parse(data);ます。その場合、以下を使用してください。

JSON.parse(data.replace(/"/g,'"'));

ただし、"JSONオブジェクトでは無効であるため、JSON書き込みスクリプトを修正することをお勧めします。


1
私はこれをしようとすると、私はそれに私のjsのコードの変更を見た:result.replace(/"/g,'"')
efirat

@kirlisakalこの問題を回避できましたか?
Turbo2oh 2016

これは機能しますが、データに次のような値がある場合はどうなります10"6 inch displayか?
シャムカンサグラ

次に、JSON書き込みスクリプトを修正することをお勧めします。
Niet the DarkAbsol19年

これは私のものではないAPIで見られます。なぜ"代わりに生成するの"でしょうか?(私はそれが反応アプリだと思います)
stevec

17

受け入れられた答えは正しいですが、私はそれに問題がありました。コードを追加してデバッガーを確認すると、次のように変更されていることがわかりました。

result.replace(/"/g,'"')

result.replace(/"/g,'"')

これの代わりに私はそれを使用します:

result.replace(/(&quot\;)/g,"\"")

この表記法により、それは機能します。


はい、動作します!しかし、これを修正するには、Sessionオブジェクトをカスタマイズする必要があります:(
muhammadtayyab19年

4
var data = $('<div>').html('[{&quot;Id&quot;:1,&quot;Name&quot;:&quot;Name}]')[0].textContent;

これにより、必要なすべてのエンコードされた値が解析されます。


それが最善の解決策でした。私はたくさんの脱出文字を持っていました。このトリックは、すべてのエスケープを解除
Gultekin

0

以下は私のために働きます:

function decodeHtml(html) {
    let areaElement = document.createElement("textarea");
    areaElement.innerHTML = html;

    return areaElement.value;
}

0

Notepad ++の置換機能を使用し、&quot;(引用符なしで)置換し"、結果は有効なjsonでした

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.