Django json 单引号和双引号?

Der*_*rek 3 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")
Run Code Online (Sandbox Code Playgroud)

javascript 字符串结果是什么

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

okm*_*okm 5

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

您能否将问题更新为演示,其中 simplejson 包含带单引号的字符串?

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

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

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

  • 添加了更多信息,而且我喜欢您的用户图片 (2认同)