将字典写入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))
相关推荐
tjjucheng30 分钟前
靠谱的小程序定制开发哪个好
python
num_killer39 分钟前
小白的Langchain学习
java·python·学习·langchain
WangYaolove131444 分钟前
基于深度学习的中文情感分析系统(源码+文档)
python·深度学习·django·毕业设计·源码
wdfk_prog1 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
CheungChunChiu2 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
自学不成才2 小时前
深度复盘:一次flutter应用基于内存取证的黑盒加密破解实录并完善算法推理助手
c++·python·算法·数据挖掘
徐先生 @_@|||2 小时前
Palantir Foundry 五层架构模型详解
开发语言·python·深度学习·算法·机器学习·架构
BlueBirdssh3 小时前
linux 内核通过 dts 设备树 配置pcie 控制器 各种参数和中断等, 那freeRTOS 是通过直接设置PCIe寄存器吗
linux
深蓝电商API3 小时前
Scrapy爬虫限速与并发控制最佳实践
爬虫·python·scrapy
Derrick__13 小时前
淘宝MD5爬虫
爬虫·python