Python:Json转储escape qu

2024-06-28 11:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

当我传递以下数据时,有一个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参数。在

^{pr2}$

现在,json.dumps({"styleId":"BMHSUR2HTS"})返回的数据和 "{\"styleId\":\"BMHSUR2HTS\"}"不一样。在

json.dumps({"styleId":"BMHSUR2HTS"}) == "{\"styleId\":\"BMHSUR2HTS\"}"给出False,尽管两者的打印都显示类似的字符串。在

如何从字典"{\"styleId\":\"BMHSUR2HTS\"}"获得与"{\"styleId\":\"BMHSUR2HTS\"}"相同的格式?在


Tags: 数据httpscomapijsonurl字典www
1条回答
网友
1楼 · 发布于 2024-06-28 11:27:42

如果打印json.dumps({"styleId":"BMHSUR2HTS"}),您将注意到两件事:

  1. 您的输出是一个字符串(只需尝试type(json.dumps({"styleId":"BMHSUR2HTS"}))
  2. 如果您注意,输出将在json名称和值之间添加一个空格:{"styleId": "BMHSURT2HTS"}。在

不确定您希望如何处理此问题,在您的输入代码中,但有两个主要选项可解决此问题:

  1. 替换上的空格json.dumps文件输出:json.dumps({"styleId":"BMHSUR2HTS"}).replace(': ', ':')
  2. 使用eval():eval(json.dumps({"styleId":"BMHSUR2HTS"}))和{}将所有内容转换为json

我希望这对你有帮助。在

相关问题 更多 >