Django 是一種流行的 Python Web 框架,它提供了一種方便的方法來(lái)返回 JSON 數(shù)據(jù)。在 Django 中,可以使用 JsonResponse 類來(lái)返回 JSON 響應(yīng)。
from django.http import JsonResponse
import json
def my_view(request):
data = {"name": "John", "age": 30}
return JsonResponse(data)
在上面的示例中,我們將一個(gè) Python 字典作為參數(shù)傳遞給 JsonResponse 類的構(gòu)造函數(shù)。JsonResponse 對(duì)象將自動(dòng)將該字典轉(zhuǎn)換為 JSON 格式,并在 HttpResponse 實(shí)例中返回 JSON 響應(yīng)。
如果要返回嵌套的 JSON 數(shù)據(jù),我們可以使用 Python 中的嵌套字典和列表來(lái)構(gòu)造數(shù)據(jù)。例如:
data = {
"name": "John",
"age": 30,
"address": {
"street": "123 Main St.",
"city": "Anytown",
"state": "CA",
"zip": "12345"
},
"phones": [
{
"type": "home",
"number": "555-555-1234"
},
{
"type": "work",
"number": "555-555-5678"
}
]
}
return JsonResponse(data)
此時(shí),JSON 響應(yīng)將包含嵌套的數(shù)據(jù)結(jié)構(gòu),如下所示:
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St.",
"city": "Anytown",
"state": "CA",
"zip": "12345"
},
"phones": [
{
"type": "home",
"number": "555-555-1234"
},
{
"type": "work",
"number": "555-555-5678"
}
]
}
在使用 JsonResponse 時(shí),記得需要導(dǎo)入該類和 json 模塊。在處理大量數(shù)據(jù)時(shí),JsonResponse 通常比使用 Django 的模板引擎和 HttpResponse 更方便。尤其是在開發(fā) Web API 時(shí),它是非常有用的。