我正在使用Python 2.7.13和Django 1.11.2。您可以通过一个字典获取数据,这样您就可以使用相关键来访问这些数据。
data = json.loads(request.GET.dict().keys()[0])
我用来获取数据的函数内部的代码块。底部还提供了输出。这将显示上述语句的某些部分的值。
但是,因为我们正在向服务器发布数据,所以在这里我使用POST代替GET。
因此,在您的情况下,上述1行代码足以将数据作为字典获取。
import json
print "request.POST = ", request.POST
print type(request.POST),"\n"
print "request.POST.dict() = ", request.POST.dict()
print type(request.POST.dict()), "\n"
print "request.POST.dict().keys() = ", request.POST.dict().keys()
print type(request.POST.dict().keys()), "\n"
print "request.POST.dict().keys()[0] = ", request.POST.dict().keys()[0]
print type(request.POST.dict().keys()[0]), "\n"
data = json.loads(request.POST.dict().keys()[0])
print "json.loads(request.POST.dict().keys()[0]): ", data
print type(data), "\n"
for key, value in data.iteritems():
print key, value
让我们看一下输出:
request.POST = <QueryDict: {u'{"fname":"Rishikesh Agrawani","email":"rishikesh0014051992@gmail.com","contact":"7353787704","message":"Have a nice day."}': [u'']}>
<class 'django.http.request.QueryDict'>
request.POST.dict() = {u'{"fname":"Rishikesh Agrawani","email":"rishikesh0014051992@gmail.com","contact":"7353787704","message":"Have a nice day."}': u''}
<type 'dict'>
request.POST.dict().keys() = [u'{"fname":"Rishikesh Agrawani","email":"rishikesh0014051992@gmail.com","contact":"7353787704","message":"Have a nice day."}']
<type 'list'>
request.POST.dict().keys()[0] = {"fname":"Rishikesh Agrawani","email":"rishikesh0014051992@gmail.com","contact":"7353787704","message":"Have a nice day."}
<type 'unicode'>
json.loads(request.POST.dict().keys()[0]): {u'message': u'Have a nice day.', u'contact': u'7353787704', u'email': u'rishikesh0014051992@gmail.com', u'fname': u'Rishikesh Agrawani'}
<type 'dict'>
message Have a nice day.
contact 7353787704
email rishikesh0014051992@gmail.com
fname Rishikesh Agrawani
json.loads
接受JSON并返回本机对象;如果你想得到JSON,你需要使用json.dumps
。 - abarnert