1

JS には、json (json2) で文字列化する辞書があります。

my_dict = {"1":"hi you'll", "2":"hello"};
as_string = JSON.stringify(my_dict);

これを値としてフォームに追加する必要がありますが、フォーム自体は文字列として開始されます。

var my_form = '<form><input value = "'+as_string+'"></form>'

my_form は、DOM としてドキュメントに追加されるため、文字列です (ノードの作成、innerHTML の追加、ドキュメントへの挿入)。

問題は、二重引用符が台無しになることです。my_dict に引用符があり、my_form に引用符があります。しかし、json は double qoutes をエスケープすることになっていませんか? それはそれがすることの一部ではありませんか?または、これを行う必要がありますか?それとも何か他の方法がありますか??

4

3 に答える 3

4

RegExp を使用して、HTML、f.ex の文字列をエンコードする必要があります。

as_string = JSON.stringify(my_dict).replace(/\"/g,'&quot;');

または、可能であればDOM操作を使用してください。

于 2013-07-17T09:58:51.187 に答える