您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何解決json中ensure_ascii=False的問題”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何解決json中ensure_ascii=False的問題”吧!
在使用json.dumps時要注意一個問題
>>> import json >>> print json.dumps('中國') "\u4e2d\u56fd"
輸出的會是:'中國' 中的ascii 字符碼,而不是真正的中文。
這是因為json.dumps 序列化時對中文默認使用的ascii編碼.想輸出真正的中文需要指定ensure_ascii=False:
>>> import json >>> print json.dumps('中國') "\u4e2d\u56fd" >>> print json.dumps('中國',ensure_ascii=False) "中國" >>>
補充知識:python json.loads json.dumps(ensure_ascii = False) 漢字亂碼問題解決
我們在post請求數據時,響應的內容是json數據,但是返回的json數據中文顯示有問題,變成 \uXXX的形式。這是因為中文以 unicode 編碼了,而默認是以ASCII解析的,中文不在ASCII編碼中,所以無法顯示。
這時候我們可以用 import json 然后調用json.loads() 和json.dumps()來使中文正確顯示。 下面的代碼(data是中文不能正常顯示的json串,newjson是處理后中文正常顯示的字符串)
import json myjson=json.loads(data) #data是向 api請求的響應數據,data必須是字符串類型的 newjson=json.dumps(myjson,ensure_ascii=False) #ensure_ascii=False 就不會用 ASCII 編碼,中文就可以正常顯示了
感謝各位的閱讀,以上就是“如何解決json中ensure_ascii=False的問題”的內容了,經過本文的學習后,相信大家對如何解決json中ensure_ascii=False的問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。