3

我注意到如果你在 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字符串结果是什么

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

4

1 回答 1

5

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

您能否将问题更新为 demo 其中 simplejson 用单引号将字符串括起来?

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

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

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

于 2012-04-12T02:06:58.723 回答