django escapejs и simplejson

Я пытаюсь закодировать массив Python в json с помощью simplejson.dumps:

In [30]: s1 = ['test', '<script>']

In [31]: simplejson.dumps(s1)
Out[31]: '["test", "<script>"]'

Отлично работает.

Но я хочу сначала экранировать строки (используя escapejs из Django) перед вызовом simplejson.dumps:

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. Таким образом, когда я использую их в шаблоне, синтаксических ошибок не будет.

Спасибо. :)

6
задан srcastro 16 October 2011 в 12:40
поделиться