python中json序列化时汉字变成编码的解决方式

我们在使用json模块时,如果被序列化对象中不包含汉字,当然没有任何问题,但是有汉字会被编译成unicode码:

import json
dic = {"name":"小明","age":"18","sex":""}
js_dic = json.dumps(dic)
print(js_dic)
#打印结果
#{"name": "u5c0fu660e", "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": ""
}
原文地址:https://www.cnblogs.com/qq849784670/p/9774646.html