我想一個Python數組編碼爲使用JSON simplejson.dumps:Django的escapejs和simplejson
In [30]: s1 = ['test', '<script>']
In [31]: simplejson.dumps(s1)
Out[31]: '["test", "<script>"]'
工作正常。
但我想打電話simplejson.dumps之前,首先躲過字符串(使用escapejs從Django中):
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