更新嵌套JSON的Python PUT请求失败
我正在尝试一个PUT请求,如下所示,但我一直得到一个500状态码更新嵌套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”、“术前检
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文件。谢谢!