python中json.dumps將中文變成unicode字符的解決辦法

想要將字典內容寫入文件中,發現用json.dumps時發現保存到文件中時中文部分變成unicode字符,如圖

解決方法:

1.將data格式化成字符串

2.在json.dumps中加ensure_ascii,設置ensure_ascii=False

 

原因:

1. Python 3已經將unicode作爲默認編碼
2. Python 3中的json在做dumps操作時,會將中文轉換成unicode編碼,並以16進制方式存儲,再做逆向操作時,會將unicode編碼轉換回中文
這就解釋了,爲什麼json.dumps操作後,得到的字符串是\uXXXX。
json dump有一個ensure_ascii參數,默認爲True,當它爲True的時候,所有非ASCII碼字符顯示爲\uXXXX序列,只需在dump時將ensure_ascii設置爲False即可,此時存入json的中文即可正常顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章