gpt4 book ai didi

python - DJango:格式化json序列化

转载 作者:太空狗 更新时间:2023-10-29 17:55:02 25 4
gpt4 key购买 nike

我有以下 DJango View

def company(request):
company_list = Company.objects.all()
output = serializers.serialize('json', company_list, fields=('name','phonenumber','email','companylogo'))
return HttpResponse(output, content_type="application/json")

结果如下:

[{"pk": 1, "model": "test.company", "fields": {"companylogo": null, "phonenumber": "741.999.5554", "name": "Remax", "email": "home@remax.co.il"}}, {"pk": 4, "model": "test.company", "fields": {"companylogo": null, "phonenumber": "641-7778889", "name": "remixa", "email": "a@aa.com"}}, {"pk": 2, "model": "test.company", "fields": {"companylogo": null, "phonenumber": "658-2233444", "name": "remix", "email": "b@bbb.com"}}, {"pk": 7, "model": "test.company", "fields": {"companylogo": null, "phonenumber": "996-7778880", "name": "remix", "email": "a@aba.com"}}]

我的问题:1.我可以控制字段的顺序吗2.我可以更改字段名称吗3. 我期待在浏览器中看到带有缩进的结果,即看到这样的内容而不是一行长行:

[
{
"pk": 1,
"model": "test.company",
"fields":
{
"companylogo": null,
"phonenumber": "741.999.5554",
"name": "Remax",
"email": "home@remax.co.il"
}
},
{
"pk": 4,
"model": "test.company",
"fields":
{
"companylogo": null,
"phonenumber": "641-7778889",
"name": "remixa",
"email": "a@aa.com"
}
},
....
}

]

最佳答案

你可以通过这种方式得到漂亮的格式:

return JsonResponse(your_json_dict, json_dumps_params={'indent': 2})

django doc as the first comment say

关于python - DJango:格式化json序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20109918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com