2015-01-21 67 views
0
具體數據形式request.post響應

我使用sendgrid API發送電子郵件給用戶,然後檢查狀態,獲取在Python

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

,並打印類型<class 'requests.models.Response'>

郵遞員API客戶端我得到這個:

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

我想從迴應中只提取message值。我寫了下面這段代碼,但不起作用:

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

回答

2

你不需要循環;剛剛訪問'message'鍵由response.json()方法返回的詞典:

print res.json()['message'] 

這可能是更容易遵循什麼是存儲在一個單獨的變量response.json()調用的結果怎麼回事:

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

Postman API返回錯誤消息的原因是您的POST實際上並未包含任何數據;你可能想一些JSON發送到API:

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

當您使用json參數,requests庫將其編碼爲JSON你,並設置正確的內容類型頭。