Python 正文中缺少数据

Python missing data in body

您好,我正在使用 request 执行一些 http 调用。这是一种奇怪的行为,响应应包含项目列表,但我只得到一个项目。

这是我在执行调用时从 Postman 得到的结果:

{
"results": [
    {
        "code": "sample_code",
        "amount": "90.00",
        "is_available": true,
    }, 
    {
        "code": "sample_code1",
        "amount": "30.00",
        "is_available": false,
    },
    {
        "code": "sample_code2",
        "amount": "333.00",
        "is_available": true,
    }]
}

这是我在脚本中得到的响应:

{
"results": [
    {
        "code": "sample_code2",
        "amount": "333.00",
        "is_available": true,
    }]
}

我是这样执行操作的:

 for product in sorted(products):
    jsonObject  = requests.post(endpoint,json=payload, verify=False).json
    print(jsonObject)

好像returns只是最后一个元素。我不知道为什么。

编辑添加请求:

  {
 
  "locale": "en-GB",
  "products": [
    {
      "categories": [
        "T-Shirt"
      ]
    }
  ],
  "basketTotal": {
    "amount": "42",
    "currency": "EUR"
  },
  "requestDateTime": "2021-04-16T10:53:45.770Z",
  "stock": {
    "isReplen": false
  }
}

我找到了问题,然后找到了解决方案。深入阅读 https://docs.python-requests.org/en/latest/user/quickstart/#make-a-request,而不是给出 JSON 对象,我可以发送编码 JSON 的字符串 payload。 所以我现在的代码是:

requests.post(url,headers=header, data=payload, verify=False)

和 return 项目列表正确,我添加了一个 header : 'Content-Type': 'application/json; charset=Latin-1 因为我稍后需要它。