Django 正在从 objects.all() 生成一个无用的 JSON 对象
Posted
技术标签:
【中文标题】Django 正在从 objects.all() 生成一个无用的 JSON 对象【英文标题】:Django is producing a useless JSON object from objects.all() 【发布时间】:2014-05-27 21:57:13 【问题描述】:为了返回纯 JSON 对象,我构建了一个 Django 视图:
from django.core import serializers
import json
def testjson(request):
all_objects = list(Message.objects.all())
to_json = serializers.serialize('json', all_objects)
return HttpResponse(json.dumps(to_json), mimetype='application/json')
上面的 to_json 最终看起来像这样:
\"employees\": [
\"firstName\":\"John\" , \"lastName\":\"Doe\" ,
\"firstName\":\"Anna\" , \"lastName\":\"Smith\" ,
\"firstName\":\"Peter\" , \"lastName\":\"Jones\"
]
这对\
完全没用,我不知道如何摆脱它们。
我已经尝试过了,但 \
触发了转义字符:
to_json = to_json.replace('\', '')
如何更改 JSON 对象以仅将 \"
替换为 "
?
【问题讨论】:
您是否在交互式 Python shell 中对此进行评估?如果是这样,这可能是一个伪影,因为 shell 会自动转义连字符。 【参考方案1】:您不需要调用json.dumps()
,serialize()
会为您的回复制作一个 json 字符串:
from django.core import serializers
def testjson(request):
data = serializers.serialize('json', Message.objects.all())
return HttpResponse(data, mimetype='application/json')
另见:
<Django object > is not JSON serializable【讨论】:
以上是关于Django 正在从 objects.all() 生成一个无用的 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章
django 模型中 e=Emp.objects.all() 中的“对象”是啥
Django Model.objects.all().delete() 未完成
Django form queryset=model.objects.all() 加载缓慢