Django json 单引号和双引号



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

更多信息:

姜戈视图:

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

JavaScript字符串原来是什么

"[{'a': '苹果'}]"

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

你能把问题更新到演示中,其中 simplejson 将字符串括起来带有单引号?

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

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

它们是Python的符号,你不想直接在JSON.parse中使用它们(第一个是可以的)。

最新更新