我必须将多个JSON文件(每个具有约10k值)发布到REST服务,这通常是一个简单的过程。需要注意的是;此特定服务要求在有效负载中传递ID和API_KEY。我可以轻松地执行一次,但是当我尝试在有效负载JSON文件中传递凭据时,出现500错误。
一次性代码(可以正常工作)
import requests
import json
url = '<my-url>'
payload = {
'client_id' :'<my-id>',
'api_key' :'<my-key>',
"data": {
<my-data>
}}
head = {'Content-Type': 'application/json'}
r = requests.post(url, headers=head, data=json.dumps(payload))
print(r.status_code)
JSON文件示例(已添加ID和KEY)
[
{"client_id" :"<my-id>",
"api_key":"<my-key>",
"data":{
{"val1": "string", "val2": "string", "val3": float}
}}
]
要处理JSON文件的代码
import requests
import json
with open ('data.json', 'r') as payload:
url = '<my-url>'
head = {'Content-Type': 'application/json'}
r = requests.post(url, headers=head, data=payload)
print(r.status_code)
我假设添加了UID / PWD的JSON文件不正确。任何见解都将非常有帮助。
答案 0 :(得分:0)
在JSON中,字符串必须以"
而不是'
分隔。
由于您的第一个示例已经可以正常工作,因此,为了进行进一步的故障排除,我建议对其进行修改以将JSON写入文件中,然后查看第二个版本的代码是否可以与该文件正常工作。如果是,则问题出在您当前的JSON文件中。