[英]Python: Json dumps escape quote
當我傳遞數據時,有一個POST請求可以正常工作,如下所示:
url = 'https://www.nnnow.com/api/product/details'
requests.post(url, data="{\"styleId\":\"BMHSUR2HTS\"}", headers=headers)
但是當我在字典上使用json.dumps()
並發送響應時,我沒有得到響應(響應代碼504),使用headers={'Content-Type': 'application/json'}
。 還試過了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\\"}"
相同的格式?
如果你打印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)
我希望這可以幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.