Tôi đang cố gắng để mã hóa một mảng Python vào simplejson.dumps json sử dụng:escapejs django và simplejson
In [30]: s1 = ['test', '<script>']
In [31]: simplejson.dumps(s1)
Out[31]: '["test", "<script>"]'
trình tốt.
Nhưng tôi muốn thoát khỏi chuỗi đầu tiên (sử dụng escapejs từ Django) trước simplejson.dumps gọi:
In [35]: s_esc
Out[35]: [u'test', u'\\u003Cscript\\u003E']
In [36]: print simplejson.dumps(s_esc)
["test", "\\u003Cscript\\u003E"]
Vấn đề của tôi là: Tôi muốn chuỗi thoát là: ["test", "\u003Cscript\u003E"]
thay vì ["test", "\\u003Cscript\\u003E"]
tôi có thể sử dụng replace
:
In [37]: print simplejson.dumps(s_esc).replace('\\\\', '\\')
["test", "\u003Cscript\u003E"]
Nhưng đây là một cách tiếp cận tốt? Tôi chỉ muốn thoát khỏi chuỗi đầu tiên trước khi mã hóa chúng thành json. Vì vậy, sẽ không có lỗi cú pháp khi tôi sử dụng chúng trong mẫu.
Cảm ơn. :)
Có, bạn đúng cách addlashes đã không làm việc cho tôi. Tôi không biết rằng có JSONEncoderForHTML. Cảm ơn bạn rất nhiều vì đã giúp tôi. :) – srcastro