python中json序列化時漢字變成編碼的解決方式


我們在使用json模塊時,如果被序列化對象中不包含漢字,當然沒有任何問題,但是有漢字會被編譯成unicode碼:

import json
dic = {"name":"小明","age":"18","sex":""}
js_dic = json.dumps(dic)
print(js_dic)
#打印結果
#{"name": "\u5c0f\u660e", "age": "18", "sex": "\u7537"}

我們想要解決這個問題就在序列化的時候加一個“ensure_ascii=False”就行

import json
dic = {"name":"小明","age":"18","sex":""}
js_dic = json.dumps(dic,ensure_ascii=False) ***
print(js_dic)
#打印結果
#{"name": "小明", "age": "18", "sex": "男"}

另外我們想序列化的結果更加格式化可以加一個indent

import json
dic = {"name":"小明","age":"18","sex":""}
js_dic = json.dumps(dic,ensure_ascii=False,indent=2) #數字代表的是"name"劇左邊的空格數
print(js_dic)

{
  "name": "小明",
  "age": "18",
  "sex": ""
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM