Django json单双引号?

时间:2012-04-12 01:57:06

标签: javascript python django json

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

更多信息:

django观点:

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

javascript字符串结果是什么

" [{' a':' apple'}]"

1 个答案:

答案 0 :(得分:4)

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

你能否将问题更新为demo,其中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中直接使用它们(虽然第一个是正常的)。