簡體   English   中英

使用python-requests發送帶有字典數組的JSON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM