将字典写入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))
相关推荐
灯下夜无眠1 分钟前
sklearn中fit、transform、fit_transform用法详解
人工智能·python·sklearn
石头5304 分钟前
Service 详解
linux
小鸡脚来咯4 分钟前
Linux 服务器问题排查指南(面试标准回答)
linux·服务器·面试
末日汐8 分钟前
磁盘与文件系统
linux·运维·数据库
数据大魔方9 分钟前
【期货量化入门】股指期货量化入门:IF/IC/IH交易全攻略(TqSdk完整教程)
开发语言·python
水天需01015 分钟前
Linux PS4 环境变量详解
linux
sunfove19 分钟前
空间几何的基石:直角、柱、球坐标系的原理与转换详解
人工智能·python·机器学习
<-->19 分钟前
pytorch vs ray
人工智能·pytorch·python
知乎的哥廷根数学学派21 分钟前
基于多尺度特征提取和注意力自适应动态路由胶囊网络的工业轴承故障诊断算法(Pytorch)
开发语言·网络·人工智能·pytorch·python·算法·机器学习
小新ya25 分钟前
vscode增删改查文件,一直等待中...
linux·vscode