当返回Django 1.7中添加的JSONResponse
时会发生这种情况.是一个json.dumps
左右的包装.然而,在这种情况下,它会导致一个错误.我确信数据是正确的,可以通过Python shell序列化为JSON.
将数据序列化为JSON的正确方法是什么?
from django.http import JsonResponse
from collections import OrderedDict
data = OrderedDict([('doc', '546546545'), ('order', '98745'), ('nothing', '0.0')])
return JsonResponse(data) # doesn't work, JSONRenderer().render(data) works
导致此错误的原因:
<map object at 0x7fa3435f3048> is not JSON serializable
print(data)
给出:
OrderedDict([('doc', '546546545'), ('order', '98745'), ('nothing', '0.0')])