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": ""
}

 

转载于:https://www.cnblogs.com/qq849784670/p/9774646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值