将字典写入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))
相关推荐
大聪明-PLUS9 小时前
像 Docker 一样创建虚拟网络
linux·嵌入式·arm·smarc
nightunderblackcat10 小时前
新手向:Python制作贪吃蛇游戏(Pygame)
python·游戏·pygame
flysh0510 小时前
pyAutoGUI 模块主要功能介绍-(1)鼠标功能
python·计算机外设·鼠标控制
61900833611 小时前
linux离线安装elasticsearch8.19.3
linux
励志不掉头发的内向程序员12 小时前
从零开始的python学习——文件
开发语言·python·学习
THMAIL12 小时前
量化基金从小白到大师 - 金融数据获取大全:从免费API到Tick级数据实战指南
人工智能·python·深度学习·算法·机器学习·金融·kafka
代码欢乐豆13 小时前
scikit-learn零基础配置(含python、anaconda)
python·机器学习·scikit-learn
IDOlaoluo13 小时前
OpenSSL 1.0.1e 下载解压和运行方法(小白适用 附安装包)
linux
Java水解13 小时前
Python数据库操作:SQLAlchemy ORM指南
python
豆是浪个13 小时前
Linux(Centos 7.6)命令详解:sar
linux·运维·centos