将字典写入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))
相关推荐
zfj3213 分钟前
Linux内核和发行版的的区别、职责
linux·运维·服务器·内核·linux发行版
mg6689 分钟前
0基础开发学习python工具_____一键打包!用 PyInstaller 将 Python 烟花程序转为 .exe(无需 Python 环境)
开发语言·python
helloworld也报错?13 分钟前
目标检测系列之YOLOv11——v8模型的继续改进
人工智能·python·目标检测·目标跟踪
leoufung14 分钟前
LeetCode 120. Triangle:从 0 分到 100 分的思考过程(含二维 DP 与空间优化)
linux·算法·leetcode
小钻风336621 分钟前
软件测试: 从入门到实践(json数据格式)
json
`林中水滴`39 分钟前
Linux Shell 命令:nohup、&、>、bg、fg、jobs 总结
linux·服务器·microsoft
ray96342 分钟前
Python——函数参数传递方式
开发语言·python
最后一个bug44 分钟前
当linux触发panic后进行自定义收尾回调处理
linux·服务器·系统架构·bug
codists1 小时前
2025年12月文章一览
python