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