本文概述
JSON是一种用于结构化数据的最小可读格式。它主要用于在服务器和Web应用程序之间传输数据, 以替代XML。 API, 轻量级响应等是JSON字符串的基本用法。
在本文中, 你将学习如何在所有Django版本中正确返回JSON响应。
Django> = 1.7
对于较新的django版本, 你可以使用在django.http包中实现的JsonResponse, 这使你的工作更加轻松, 因为你无需提供任何内容类型或其他信息, 而只需提供数据。
from django.http import JsonResponse
def index(request):
responseData = {
'id': 4, 'name': 'Test Response', 'roles' : ['Admin', 'User']
}
return JsonResponse(responseData)
正如许多Web框架所做的那样, 返回”类”作为响应是大多数开发人员的首选方法。
Django <1.7
对于较早的django版本, 你需要返回一个HttpResponse, 其具有JSON的特定内容类型作为第二个参数。
import json
# for older versions (and using python < 2.7)
#from django.utils import simplejson
# and change the json.dumps for simplejson.dumps
from django.http import HttpResponse
def index(request):
responseData = {
'id': 4, 'name': 'Test Response', 'roles' : ['Admin', 'User']
}
return HttpResponse(json.dumps(responseData), content_type="application/json")
注意:如果要在较新的版本上, 仍可以使用此方法。
由于JsonResponse类不存在, 因此你需要使用老式的方法, 编写起来不是那么快, 但是可以使用。
这两个响应的输出为:
{
"id":4, "name":"Test Response", "roles":[
"Admin", "User"
]
}
如预期的那样。玩得开心 !
评论前必须登录!
注册