我有一个简单的视图,我需要返回JSON数据,但在使用django serialize
和JsonResponse
时,它会将每个字符作为对象返回。这是片段:
def query(request):
data = serializers.serialize('json', Post.objects.all())
response = JsonResponse(data, safe=False)
return response
问题在于,如果我想打印response.content[0]
,它会返回一些随机数,因为它是响应的第一个字符。
有没有什么方法可以像简单字典(JSON)那样访问响应?
答案 0 :(得分:1)
一旦你有了JSON,它基本上是string
- 所以你不能像字典/列表或任何Python类型那样访问它。
如果您需要像字典或列表一样访问它,您应该对非序列化数据进行操作:
def query(request):
posts = Post.objects.all()
print(posts[0]) # You can now use it as a list of objects
data = serializers.serialize('json', posts)
response = JsonResponse(data, safe=False)
return response