将字典写入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))
相关推荐
weixin_307779133 分钟前
批量OCR的GitHub项目
python·github·ocr
孤狼warrior1 小时前
灰色预测模型
人工智能·python·算法·数学建模
神仙别闹1 小时前
基于Python实现LSTM对股票走势的预测
开发语言·python·lstm
机器学习之心2 小时前
小波增强型KAN网络 + SHAP可解释性分析(Pytorch实现)
人工智能·pytorch·python·kan网络
JavaEdge在掘金2 小时前
MySQL 8.0 的隐藏索引:索引管理的利器,还是性能陷阱?
python
站大爷IP2 小时前
Python办公自动化实战:手把手教你打造智能邮件发送工具
python
chao_7892 小时前
回溯题解——子集【LeetCode】二进制枚举法
开发语言·数据结构·python·算法·leetcode
行止62 小时前
OpenStack云平台管理
linux·openstack
zdw2 小时前
fit parse解析佳明.fit 运动数据,模仿zwift数据展示
python
岁岁岁平安3 小时前
CentOS-7-x86_64解决:使用NAT模式无法ping通www.baidu.com或无法ping 8.8.8.8问题。
linux·运维·centos·centos-7