私はsimplejson.dumpsを使用してJSONにPythonの配列をエンコードしようとしている:ジャンゴescapejsとのsimplejson
In [30]: s1 = ['test', '<script>']
In [31]: simplejson.dumps(s1)
Out[31]: '["test", "<script>"]'
作品罰金を。
しかし、私はsimplejson.dumpsを呼び出す前に(ジャンゴからescapejsを使用して)最初の文字列をエスケープしたい:
In [35]: s_esc
Out[35]: [u'test', u'\\u003Cscript\\u003E']
In [36]: print simplejson.dumps(s_esc)
["test", "\\u003Cscript\\u003E"]
私の問題がある:私はなるようにエスケープされた文字列をしたい:["test", "\u003Cscript\u003E"]
の代わり["test", "\\u003Cscript\\u003E"]
私はreplace
を使用することができます。
In [37]: print simplejson.dumps(s_esc).replace('\\\\', '\\')
["test", "\u003Cscript\u003E"]
しかし、これは良い方法ですか?私はちょうどそれらをjsonにエンコードする前に文字列をエスケープしたい。したがって、テンプレートで使用すると構文エラーは発生しません。
ありがとうございました。 :)
はい、あなたは右のaddslashesが私にとってはうまくいかなかったのです。私はJSONEncoderForHTMLがあることを知らなかった。私を助けてくれてありがとう。 :) – srcastro