在 Python 中获取特定数据表单 request.post 响应

Get Specific Data form request.post response in Python

我正在使用 sendgrid api 向用户发送电子邮件然后检查状态,

res = requests.post(url)
print type(res)

并将类型打印为 <class 'requests.models.Response'>

在 Postman API 客户端上我得到了这个:

{
"message": "error",
"errors": [
"JSON in x-smtpapi could not be parsed"
]
}

我只想从响应中获取 message 值。我已经编写了以下代码但不起作用:

for keys in res.json():
    print str(res[keys]['message'])

你不需要循环;只需访问 response.json() 方法返回的字典中的 'message' 键:

print res.json()['message']

通过将 response.json() 调用的结果存储在一个单独的变量中,可能更容易了解正在发生的事情:

json_result = res.json()
print json_result['message']

Postman API returns 错误消息的原因是因为您的 POST 实际上不包含任何数据;你可能想发送一些 JSON 到 API:

data = some_python_structure
res = requests.post(url, json=data)

当您使用 json 参数时,requests 库将为您将其编码为 JSON,并设置正确的内容类型 header.