2012-04-12 177 views
1

我注意到,如果你在django中使用simplejson函数,所有的字符串都用单引号括起来,整个json对象字符串用双引号引起来。当我把这个字符串交给JSON.parse时,它给了我一个错误,因为他们想用单引号将整个对象和双引号括起来。我可以用javascript替换它们,但是我不得不考虑像撇号这样的情况,但我确信有更好的方法。有没有办法让django的simplejson将对象字符串输出为JSON.parse的格式?Django json单引号和双引号?

更多信息:

Django的看法:

def view(request): 
    list = [{"a":"apple",},] 
    return HttpResponse(simplejson.dumps(str(list)), mimetype="application/json") 

的JavaScript字符串转出什么是

“[{ '一': '苹果'}]”

回答

4

更新 删除str()附近的清单,只需simplejson.dumps(list)str()将列表转换为字符串,因此您在客户端获得了"[{'a': 'apple'}]"

你可以更新的问题演示其中simplejson包围字符串瓦特/单引号?

django.utils.simplejson,通常符合w/JSON specification并且不使用单引号来包装东西。如果你的意思

>>> from django.utils.simplejson import dumps 
>>> dumps("Hello") 
'"Hello"' # single quotes here 
>>> repr(dumps("Hello")) 
'\'"Hello"\'' # or here 

他们的Python的符号,你不想直接使用它们JSON.parse(第一个是OK虽然)。

+2

更多信息被添加,再加上我喜欢你的用户图片 – Derek 2012-04-12 02:43:35

+0

=),更新了答案 – okm 2012-04-12 04:31:50

+0

很酷谢谢3char – Derek 2012-04-12 04:34:19