[英]Sending JSON with array of dicts with python-requests
我正在嘗試使用請求模塊發送包含字典數組的json。 這是我的代碼示例:
payload = {
"arrayData": [
{
"key1": 1,
"key2": 2,
"key3": {
"subkey": 3
}
}
]
}
r = requests.post(
'https://httpbin.org/post',
data = payload,
)
print(r.text)
我認為我的要求如下所示:
{
"args": {},
"data": "",
"files": {},
"form": {
"arrayData": [
"key1",
"key2",
"key3"
]
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Content-Length": "44",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"json": null,
"url": "https://httpbin.org/post"
}
問題是arrayData有時會變成簡單的值列表。
以表格形式發送json對我的任務至關重要,但是我不知道該怎么做。 使用json = payload或data = json.dumps(payload)發送請求並不能解決問題,因為解析后的數據進入“ json”部分,但我需要使用“ form”形式。
在我的示例中,arrayData僅包含一個字典,但可能有多個。
原來它是帶有arrayData字段和JSON內容的表單,因此正確的有效負載應如下所示:
payload = {
"arrayData": json.dumps([{
"key1": 1,
"key2": 2,
"key3": {
"subkey": 3
}
}])
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.