我注意到,如果你在 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中使用它们(第一个是可以的)。