将字典写入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))
相关推荐
佑白雪乐6 分钟前
<Linux基础11集>电流+二极管+晶体管+存储器
linux
嵌入式郑工10 分钟前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
逄逄不是胖胖19 分钟前
《动手学深度学习》-60translate实现
人工智能·python·深度学习
橘颂TA20 分钟前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
爱学习的阿磊24 分钟前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_7369191027 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
one____dream31 分钟前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
j_xxx404_32 分钟前
Linux:进程程序替换
linux·运维·服务器
祁鱼鱼鱼鱼鱼37 分钟前
Keepalived实验环境设定
linux·服务器·网络
冷雨夜中漫步40 分钟前
python反转列表reverse()和[::-1]哪个效率更高
开发语言·python