我张贴一些生JSON我的后台
{
"access_token": "hU5C7so4reJOYTzPyhKPs8PWq07tb",
"id": 3,
"order_details": [{"meal_id": 1, "quantity": 3}, {"meal_id": 2, "quantity": 2}]
}
然而,当我尝试
print (request.POST.get("access_token"))
我收到None
但是,当我做
print (request.body)
的价值观似乎有:
b'{\n\t"access_token": "hU5C7so4reJOYTzPyhKPs8PWq07tb",\n\t"id": 3,\n\t",\n\t"order_details": [{"meal_id": 1, "quantity": 3}, {"meal_id": 2, "quantity": 2}]\n}'
我使用的邮差发布的数据。
我想访问令牌存储到像这样的一些变量:
access_token = request.POST.get("access_token")
与POST数据
我仍然相当新的Django的,任何帮助将是巨大的。
只是做了json.loads应该工作。
import json
json_data = json.loads(request.body)
当你发送表单数据Request.POST被填充。见django doc和this answer了解详情。因为,你的情况,你要留言“纯” JSON,你会发现在你的request.body有效载荷。您可以按如下的身体从二进制解码为字典:
import json
body = json.loads(request.body.decode('utf-8'))
access_token = body.get("access_token")
您需要将JSON第一解码:
import json
variable = urlopen(request).read().decode('utf-8')
json_obj = json.loads(variable)
然后你可以检索您的信息
for i in json_obj:
token = i['access_token']
order_details = i['order_details']
希望这有助于