4

これは本当にゲットーに聞こえるかもしれませんが、別のプログラムに切り取って貼り付けることができるように、ブラウザー画面に Javascript を出力する必要があります。

私はJSON.stringify()fromを使用しjson2.jsていますが、実際には JSON オブジェクトの制御部分であり、エスケープする必要がある引用符や改行 (",\n) などのエスケープ文字ではありません。

たとえば、他のプログラムにインポートするときに問題を引き起こす次のような文字列を取得します。

{
    string_property_01 : "He said "HI"";  // The string terminates after "He said "
}

ここでエスケープする必要があるすべての文字をエスケープするために使用できるライブラリはありますか?

ありがとう!

4

3 に答える 3

5

オプション #2

var g = {
    sampleFunc2 : function (data) {
        var dataAsText = JSON.stringify(data);
        // w jquery
        $('#debugArea').text(dataAsText);
    }
}

// usage... 
g.sampleFunc2({ id: "4", name: "John Smith" });

マークアップ:

<textarea id='debugArea' rows='10' cols='50'></textarea>
于 2011-07-14T01:53:18.630 に答える
2

私は次のことを行います。これは美しいハックです。

var g = {
    sampleFunc : function (data) {
        var dataAsText = JSON.stringify(data);
        var response = prompt('you can copy and paste this', dataAsText);
    }
}

// usage... 
g.sampleFunc({ id: "4", name: "John Smith" });

JavaScript プロンプト...気に入らなければ。

于 2011-07-14T01:20:15.940 に答える
1

これは単なるブラウザー レンダリングのトリックではないですか? JSON ライブラリは、有効な JSON 文字列を提供するために、char を適切にエスケープします。json2.js の出力を、一部のブラウザー (chrome など) のネイティブ JSON.stringify と比較してみましたか?

于 2011-07-14T01:15:43.350 に答える