我注意到如果你在 django 中使用 simplejson 函数,所有的字符串都用单引号括起来,而整个 json 对象字符串用双引号括起来。当我把这个字符串交给 JSON.parse 时,它给了我一个错误,因为他们想用单引号括起整个对象,用双引号括起字符串。我可以用 javascript 替换它们,但是我必须考虑像撇号这样的情况,但我相信有更好的方法。有没有办法让django的simplejson将object字符串输出成JSON.parse的格式?
更多信息:
django View :
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
,通常符合 w/JSON specification并且不使用单引号来包裹东西。如果你的意思是
>>> from django.utils.simplejson import dumps
>>> dumps("Hello")
'"Hello"' # single quotes here
>>> repr(dumps("Hello"))
'\'"Hello"\'' # or here
它们是 Python 的符号,您不想直接在 JSON.parse 中使用它们(尽管第一个没问题)。
关于javascript - Django json 单引号和双引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116424/