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)
我正在使用 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)