GAE上的django.utils.simplejson版本是例如在执行js = json.dumps(my_dict_w_strings_w_newline_and_slash)
时转义“/”字符,但不是“\ n”,当我尝试在其他位置的客户端中尝试json.loads(js)
时,会导致问题。Google App Engine Python simplejson转义?
关于如何整理解决方案的任何建议?这些字符串是base64编码的数据,因此被破坏。
GAE上的django.utils.simplejson版本是例如在执行js = json.dumps(my_dict_w_strings_w_newline_and_slash)
时转义“/”字符,但不是“\ n”,当我尝试在其他位置的客户端中尝试json.loads(js)
时,会导致问题。Google App Engine Python simplejson转义?
关于如何整理解决方案的任何建议?这些字符串是base64编码的数据,因此被破坏。
我的同事曾建议:
if json.encoder.ESCAPE_DCT.get('/') != '/':
json.encoder.ESCAPE_DCT['/'] = '/'
这是工作NIC伊利。
我试着随SDK(Django的0.96和1.2)的simplejson版本和两个逃跑 '\ n' 的
>>> simplejson.dumps({'foo': '\n'})
'{"foo": "\\n"}'
Google App Engine/1.5.1
Python 2.5.2 (r252:60911, Mar 17 2011, 15:16:30)
[GCC 4.3.1]
>>> from django.utils import simplejson
>>> simplejson.dumps({'foo': '\n'})
'{"foo": "\\n"}'
>>> simplejson.dumps('foo/bar')
'"foo\\/bar"'
GAE上的实际版本没有这样做。实际上,“/”对我来说是一个更大的问题。 –
奇怪。我在http://shell.appspot.com/上试过了,它也逃脱了。 – moraes
嗯。现在我想可能是'self.response.out.write',当我只想'''时,''将'\\ /'转换为'\ /'或什么的。 –