在Django中,我們可以使用內置的JsonResponse類來發送和接收JSON數據。它可以將Python對象序列化為JSON格式,并將其作為HTTP響應發送給Web客戶端。
下面是一個簡單的示例,展示如何使用Django的JsonResponse來發送JSON響應:
from django.http import JsonResponse def my_view(request): data = { 'name': 'John', 'age': 30, 'is_student': True, 'courses': ['Math', 'Science', 'English'] } return JsonResponse(data)
上述代碼將Python字典轉換成JSON,并作為HTTP響應發送到客戶端。JsonResponse還可以接收其他選項,例如設置HTTP狀態碼、CORS等。
如果要接收JSON請求,可以使用Django的JsonResponse解析器。下面是一個示例:
import json from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt @csrf_exempt def my_view(request): if request.method == 'POST': data = json.loads(request.body) name = data.get('name') age = data.get('age') is_student = data.get('is_student') courses = data.get('courses') # 做一些操作 return JsonResponse({'success': True}) else: return JsonResponse({'error': 'This endpoint only accepts POST requests'})
上述代碼允許接收JSON POST請求,并從請求體中獲取數據。我們可以像普通的Python字典一樣使用JSON數據,對其進行解析和操作。
總的來說,使用Django的JsonResponse類非常方便地與JSON數據交互。無論是發送JSON響應還是解析JSON請求,它都是最佳選擇之一。