将字典写入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))
相关推荐
BullSmall2 分钟前
JSON 结构注入测试系统:全解与实战案例
json·安全性测试
blog.pytool.com3 分钟前
Ubuntu 22.04 解决 Qt 报错:Unknown module (s) in QT: qml quick
linux·qt·ubuntu
卷Java9 分钟前
Python字典:键值对、get()方法、defaultdict,附通讯录实战
开发语言·数据库·python
MarkHD9 分钟前
RPA工程化实践:三种核心设计模式让复杂流程优雅可控
linux·设计模式·rpa
七夜zippoe21 分钟前
区块链开发:从智能合约到DApp
python·区块链·智能合约·开发·dapp
hhhjllhj24 分钟前
如何用关键词优化报表提升网站流量?
python·搜索引擎·facebook
就是个名称27 分钟前
echart绘制天顶图
linux·前端·javascript
明月(Alioo)33 分钟前
Python 并发编程详解 - Java 开发者视角
java·开发语言·python
跟着珅聪学java39 分钟前
编写高质量 CSS 样式完全指南
人工智能·python·tensorflow
进击的小头1 小时前
第18篇:PID参数整定与裕度优化的现场调试实战
python·算法