将字典写入json文件python,其中的中文变成unicode编码

问题描述

复制代码
import json

data = {
    '牡丹花开':'asfffa',
    'asdfg' : '处处闻啼鸟',
    '夜来风' : 56789,
    'asdga':'花儿与少年'
}

fp = open('./train.json', 'w', encoding = 'utf-8')
fp.write(json.dumps(data))
fp.close()

文件中的内容如下:

复制代码
{"\u6625\u6653\u6625\u7720": "asfffa", "asdfg": "\u5904\u5904\u95fb\u557c\u9e1f", "\u591c\u6765\u98ce": 56789, "asdga": "\u4e0d\u89c9\u6653\u96e8\u58f0"}

原因分析

json.dumps()方法将dict的数据转换为str数据,然后将str写入到文本中,但是json.dumps()方法会默认将其中unicode码以ascii编码的方式输入到string。

解决办法

在json.dumps()方法中加入一个参数,并把值设置为False(默认为True),即可显示中文。

复制代码
fp.write(json.dumps(data,ensure_ascii=False))
相关推荐
背心2块钱包邮1 天前
第9节——部分分式积分(Partial Fraction Decomposition)
人工智能·python·算法·机器学习·matplotlib
爱宇阳1 天前
Linux 安全加固:禁用 IPv4 ICMP 重定向发送
linux·运维·安全
木盏1 天前
三维高斯的分裂
开发语言·python
a程序小傲1 天前
京东Java面试被问:ZGC的染色指针如何实现?内存屏障如何处理?
java·后端·python·面试
阿豪学编程1 天前
动静态库制作与原理
linux·个人开发
2401_861786181 天前
linux修改ip地址(有详细步骤)kali
linux·运维·服务器
颜子鱼1 天前
Linux platform总线驱动框架
linux·驱动开发
徐子元竟然被占了!!1 天前
Linux-top
linux·运维·windows
大连好光景1 天前
批量匿名数据重识别(debug记录)
开发语言·python
暴风鱼划水1 天前
算法题(Python)哈希表 | 2.两个数组的交集
python·算法·哈希表