我通过Python / Django将数据作为JSON返回。
我使用了以下代码:
jsonObject = serializers.serialize('json', object, fields=('value', 'record_time'))
return HttpResponse(json.dumps(jsonObject), mimetype="application/json")
问题是我收到如下答复:
"[{\"pk\": null, \"model\": \"model.table\", \"fields\": {\"record_time\": \"2009-11-18T22:45:44Z\", \"value\": 0.6533125480476399}}, {\"pk\": null, \"model\": \"model.table\", \"fields\": {\"record_time\": \"2009-11-19T15:02:15Z\", \"value\": 0.4386133754377899}}]"
我应该以下面的格式获取它:
"[
{
"pk": null,
"model": "model.table",
"fields":
{
"record_time": "2009-11-18T22:45:44Z",
"value": 0.6533125480476399
}
},
{
"pk": null,
"model": "model.table",
"fields":
{
"record_time": "2009-11-19T15:02:15Z",
"value": 0.4386133754377899
}
}
]"
我在哪里错了?
答案 0 :(得分:1)
您正在将对象序列化为jsonObject
,但您将返回原始object
。只需修复它,一切都应该按预期工作。
<强>更新强>
只需更改您的代码:
jsonObject = serializers.serialize('json', object, fields=('value', 'record_time'))
return HttpResponse(jsonObject, mimetype="application/json")
更改是第二行中的jsonObject
。
答案 1 :(得分:0)
您出错的地方是将JSON字符串的打印表示与实际字符串本身混淆。这些斜杠只是控制台显示字符串中的双引号不是结束字符串,而是它的一部分。换句话说,你的JSON就好了。