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

Posted 被嫌弃的胖子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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": ""
}

 

以上是关于python中json序列化时汉字变成编码的解决方式的主要内容,如果未能解决你的问题,请参考以下文章

为啥java编程中写的汉字变成乱码了???

micropython中怎么将gb2312编码的字节流变成中文

python3 中的Json序列化反序列化 和 字符编码的问题解决

php 解决json_encode中文UNICODE转码问题

python2下解决json的unicode编码问题

python json.dumps后utf-8编码变成了unicode编码