gpt4 book ai didi

python - Flask:无法解码使用请求提交的传入 JSON

转载 作者:行者123 更新时间:2023-12-01 04:38:40 26 4
gpt4 key购买 nike

我在尝试解码以 json 形式发送到我的服务器的 python 字典时遇到问题。这是我的应用程序中的内容:

payload = {'status':[bathroomId,item,percentage,timestamp]}
r=requests.post(url,None,json.dumps(payload))

这是我在 Flask 服务器中所做的事情:

req = request.get_json()
print req['status']

当我尝试打印 req['status'] 的内容时,Python 似乎无法将其识别为字典,并且出现内部服务器错误。

我尝试打印req,但得到None

我错过了什么?

最佳答案

除非您设置 Content-Type标题为 application/json在您的请求中,Flask 不会尝试解码在您的请求正文中找到的任何 JSON

相反,get_json将返回None (这就是您现在所看到的)。

因此,您需要设置 Content-Type您的请求中的 header 。

幸运的是since version 2.4.2 (released a year ago) , requests 有一个辅助参数来发布 JSON;这将为您设置正确的标题。使用:

requests.post(url, json=payload)

或者(例如使用请求 < 2.4.2),您可以自己设置 header :

requests.post(url, data=json.dumps(payload), headers={"Content-Type": "application/json"})
<小时/>

以下是 Flask 中的相关代码:

关于python - Flask:无法解码使用请求提交的传入 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com