REST API 带有 python 字典的请求正文

REST API request body with python dictionary

我正在使用 AWS REST API。我正在尝试通过 REST API 调用粘合作业。为此,我需要将参数作为 JSON 对象传递。对于这个 json 对象,我应该将 python 字典作为 JSON 值传递。 这是请求正文,

   {
    "Arguments":{
    "jobParameter":"{
  'key1':'keyname=subvalue',
  'key2':'value2'
}"

},
    "JobName":"jobname"
    }

python字典={ 'key1':'keyname=subvalue', 'key2':'value2' }

当我通过将其作为输入来测试 API 时,它给出了一个错误,

{ "__type": "SerializationException" }

有人可以帮忙吗?

我认为它没有被识别为有效 JSON。 尝试发送不同的东西作为作业参数的参数进行测试。

当 json 项具有另一个字典的值时,经常会出现此问题。另一种解决方案是将其作为 json.dumps()

传递
import json
body = {
    "Arguments":{
    "jobParameter":{
        'key1':'keyname=subvalue',
        'key2':'value2'
        }    
    },
    "JobName":"jobname"
    }
body_parsed = json.dumps(body)

那么在你的请求中,你应该这样做:

requests.post(url=url, body=body_parsed , headers=headers)