更新嵌套JSON的Python PUT请求失败

更新嵌套JSON的Python PUT请求失败,python,json,api,http,python-requests,Python,Json,Api,Http,Python Requests,我正在尝试一个PUT请求,如下所示,但我一直得到一个500状态码 r=requests.put(url=<URL>, data = <JSON file>) r=requests.put(url=,data=) 数据是一个嵌套的JSON文件,我从OrderdDict创建,然后使用JSON.dumps()命令将Python布尔值转换为JSON布尔值,如下所示: {“患者姓名”:“沃尔特·米蒂”、“术前检查室”:“术前检查室7”、“术前检查室”:“术前检查床4”、“术前检

我正在尝试一个PUT请求,如下所示,但我一直得到一个500状态码

r=requests.put(url=<URL>, data = <JSON file>)
r=requests.put(url=,data=)
数据是一个嵌套的JSON文件,我从OrderdDict创建,然后使用JSON.dumps()命令将Python布尔值转换为JSON布尔值,如下所示:

{“患者姓名”:“沃尔特·米蒂”、“术前检查室”:“术前检查室7”、“术前检查室”:“术前检查床4”、“术前检查表2”、“术前检查表”:[真、假、真、假、假、真、假、假],“术前检查表”:[真、假、真、假、假、真、假、假、假、假],“术后检查表”:[真、假、真、假、真、假、真、假],“位置”:“或房间”}


我验证了这个JSON文件,并且它的格式正确。但是我不明白为什么我在尝试PUT请求时总是得到500个状态码。

似乎您必须使用
request.PUT(url=,JSON=)
或者使用
JSON.dumps()将您的dict显式地转换为JSON
然后能够使用
数据=
交付


而且,根据您正在谈论的RESTAPI的实现,您可能需要设置内容类型头:
requests.put(url=,json=,headers={'content-type':'application/json'})

似乎您必须使用
request.put(url=,json=)
或者使用
json.dumps()
将dict明确地转换为json,然后使用
data=
交付dict


并且,根据您正在谈论的RESTAPI的实现,您可能需要设置内容类型标头:
requests.put(url=,json=,headers={'content-type':'application/json'})

如果您能找到任何错误消息并将其发布在此处,那将非常有用。@Biswanath-我打印r时得到的唯一输出是:500表示服务器端错误,可能意味着任何事情。您需要开发人员访问服务器来调试此错误。请使用print r.content。您不需要任何带有
访问令牌的标题吗r
客户机密钥
?如果您能找到任何错误消息并将其发布到此处,这将非常有用。@Biswanath-我打印r时得到的唯一输出是:500表示服务器端错误,可能意味着几乎任何东西。您需要开发人员访问服务器来调试此错误。请使用print r.content。您不需要任何带有
访问权限的标题吗s token
客户端密钥
?谢谢!第一种方法对我很有效,我可以通过API更新JSON文件。谢谢!谢谢!第一种方法对我很有效,我可以通过API更新JSON文件。谢谢!