当我传递数据时,有一个POST请求可以正常工作:
url = 'https://www.nnnow.com/api/product/details'
requests.post(url, data="{\"styleId\":\"BMHSUR2HTS\"}", headers=headers)
但是当我在字典上使用json.dumps()
并发送响应时,我没有使用headers={'Content-Type': 'application/json'}
得到响应(响应代码504)。还试过了Post请求的json参数。
requests.post(url, data=json.dumps({"styleId":"BMHSUR2HTS"}), headers={'content-type': 'application/json'})
现在,json.dumps({"styleId":"BMHSUR2HTS"})
和...返回的数据
"{\"styleId\":\"BMHSUR2HTS\"}"
不一样。
json.dumps({"styleId":"BMHSUR2HTS"}) == "{\"styleId\":\"BMHSUR2HTS\"}"
给出False
,即使两者上的打印都显示相似的字符串。
如何从字典"{\"styleId\":\"BMHSUR2HTS\"}"
获得与{"styleId":"BMHSUR2HTS"}
相同的格式?
答案 0 :(得分:1)
如果您打印json.dumps({"styleId":"BMHSUR2HTS"})
,您会注意到两件事:
type(json.dumps({"styleId":"BMHSUR2HTS"}))
); {"styleId": "BMHSURT2HTS"}
。不确定您希望如何处理此问题以及输入代码,但有两个主要选项可以解决此问题:
json.dumps({"styleId":"BMHSUR2HTS"}).replace(': ', ':')
eval(json.dumps({"styleId":"BMHSUR2HTS"}))
和eval(YOUR_JSON_STRING)
我希望这会对你有所帮助。