我正在尝试将POST请求(在Python中)发送到期望包含JSON的数组的服务器。我似乎无法正确格式化数据。如何将以下有效负载格式化为Node.js服务器的JavaScript数组?
发布 / api / adduser /
Node.js预计有效负载:
[
{'user':'jon','email':'email@gmail.com'},
{'user':'jon2','email':'email2@gmail.com'}
]
我目前的代码:
import requests
import json
payload = \
[
{
'user': 'hello',
'email': 'hello@gmail.com'
},
{
'user': 'helloAgain',
'email': 'helloAgain@gmail.com'
}
]
res = requests.post('http://localhost/api/users', data=json.dumps(payload))
#res -> 400 error -> reason: "wrong json format - must be an array"
答案 0 :(得分:1)
您预期的有效负载不正确(它不是JSON)。节省大量的麻烦并使用json
模块:
import json
res = requests.post('http://localhost/api/users', data=json.dumps(payload))
答案 1 :(得分:0)
以下是解决方案:
发布 / api / adduser /
Node.js预计有效负载:
[
{'user':'jon','email':'email@gmail.com'},
{'user':'jon2','email':'email2@gmail.com'}
]
我目前的代码:
import requests
import json
payload = \
[
{
'user': 'hello',
'email': 'hello@gmail.com'
},
{
'user': 'helloAgain',
'email': 'helloAgain@gmail.com'
}
]
jsonPayload = json.dumps(payload)
headers = {'Content-Type': 'application/json'}
res = requests.post('http://localhost/api/users', data=jsonPayload, headers=headers)