python使用json.dumps输出中文问题
作者:林新发 时间:2023-11-17 22:04:46
使用json.dumps输出中文
在使用json.dumps时要注意一个问题
>>> import json
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"
输出的会是
‘中国’ 中的ascii字符码,而不是真正的中文。
这是因为json.dumps序列化时对中文默认使用的ascii编码
想输出真正的中文需要指定ensure_ascii=False:
>>> import json
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"
>>> print(json.dumps('中国', ensure_ascii=False))
"中国"
Python json.dumps()中文乱码
有一段代码如下:
def save_data(self,data):
print(data)
#ensure_ascii=False
data=json.dumps(data)
print(data)
with open('ljd.json',mode='w',encoding='utf-8') as f:
f.write(data)
date在传递进来之前是字典格式数据,现在为了能保存到文件中,因此用json.dumps(data)来将字典数据转换为json字符串,但是转换以后前后显示就有问题了,如下:
发现转换以后,中文乱码了。
原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。
更改如下:
def save_data(self,data):
print(data)
#ensure_ascii=False
data=json.dumps(data,ensure_ascii=False)
print(data)
with open('ljd.json',mode='w',encoding='utf-8') as f:
f.write(data)
而后,显示正常!
来源:https://linxinfa.blog.csdn.net/article/details/95170421
标签:python,json.dumps,输出中文
0
投稿
猜你喜欢
关于Python中的闭包详解
2022-04-18 02:12:46
javascript让浏览器实现复读机的功能
2008-10-10 11:49:00
浅谈MySQL存储引擎选择 InnoDB还是MyISAM
2009-05-10 20:02:00
go mod详细使用教程
2024-04-26 17:32:19
Flyway数据库版本控制的教程详解
2024-01-19 03:10:03
Python第三方包PrettyTable安装及用法解析
2023-02-22 03:19:16
从0到1搭建后端架构的演进(MVC,服务拆分,微服务,领域驱动)
2022-04-24 10:03:35
pandas多层索引的创建和取值以及排序的实现
2023-07-09 23:12:54
Python+Pillow进行图形处理的示例详解
2021-08-03 22:42:34
ie6下实现position-fixed效果
2009-06-05 18:47:00
MYSQL METADATA LOCK(MDL LOCK) 理论及加锁类型测试
2024-01-23 11:16:46
MySQL 删除数据库中重复数据方法小结
2024-01-25 16:39:03
PHP实现mysqli批量执行多条语句的方法示例
2024-05-05 09:31:35
python实战教程之自动扫雷
2022-08-16 01:05:48
Python中的Matplotlib模块入门教程
2023-08-14 23:05:16
如何理解python中数字列表
2023-01-30 13:29:09
matplotlib绘制符合论文要求的图片实例(必看篇)
2023-08-12 08:08:39
JS代码随机生成姓名、手机号、身份证号、银行卡号
2024-04-18 09:35:36
vue中为何方法要写在methods的里面
2024-05-10 14:19:24
django列表筛选功能的实现代码
2021-06-23 08:48:57