使用Django的JsonResponse返回数据
在Django中,你可以使用JsonResponse
类来返回JSON格式的响应。这个类继承自HttpResponse
,并且会在返回的数据上调用json.dumps()
方法,同时设置响应的Content-Type
头为application/json
。
以下是一个简单的示例,演示如何使用JsonResponse
返回JSON数据:
from django.http import JsonResponse
def my_view(request):
data = {'key': 'value', 'foo': 'bar'}
return JsonResponse(data)
如果你需要返回非字典类型的对象,你可以通过设置safe
参数为False
来允许非字典类型的序列化。例如,返回一个列表:
from django.http import JsonResponse
def my_list_view(request):
data = ['element1', 'element2', 'element3']
return JsonResponse(data, safe=False)
请注意,当safe
参数设置为False
时,JsonResponse
会对数据进行序列化,但不会再检查数据是否为字典类型。如果你传递的不是可序列化为JSON的数据,将会抛出TypeError
异常。
评论已关闭