返回json时删除\“字符

时间:2013-09-26 08:34:05

标签: python django json

我通过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
      }
  }
]"

我在哪里错了?

2 个答案:

答案 0 :(得分:1)

您正在将对象序列化为jsonObject,但您将返回原始object。只需修复它,一切都应该按预期工作。

<强>更新

只需更改您的代码:

jsonObject = serializers.serialize('json', object, fields=('value', 'record_time'))
return HttpResponse(jsonObject, mimetype="application/json")

更改是第二行中的jsonObject

答案 1 :(得分:0)

您出错的地方是将JSON字符串的打印表示与实际字符串本身混淆。这些斜杠只是控制台显示字符串中的双引号不是结束字符串,而是它的一部分。换句话说,你的JSON就好了。