0

我有一个简单的视图,我需要在其中返回 JSON 数据,但是在使用时django serializeJsonResponse会将每个字符作为对象返回。这是片段:

def query(request):
    data = serializers.serialize('json', Post.objects.all())
    response = JsonResponse(data, safe=False)
    return response

问题是如果我想打印response.content[0]它会返回一些随机数,因为它是响应的第一个字符。

有什么方法可以让响应像简单字典(JSON)一样被访问?

4

1 回答 1

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
于 2016-01-03T19:18:23.370 回答