将字典写入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))
相关推荐
谅望者5 分钟前
数据分析笔记15:Python模块、包与异常处理
开发语言·人工智能·python
2301_781143565 分钟前
python学习(一)
python·学习
GHL2842710906 分钟前
redis编译调试(linux)
linux·数据库·redis
食咗未6 分钟前
Linux USB HOST EXTERNAL USB TO ETH ADAPTER
linux·网络·驱动开发
lbb 小魔仙6 分钟前
FP8魔力解锁:SD3.5 图像编辑、修复与增强全栈实战
人工智能·python·ai
黑猫学长呀7 分钟前
【嵌入式系统科普】第2篇:什么是uboot/kernel/根文件系统/BootLoader/操作系统/bios/设备树
linux·arm开发·单片机·嵌入式硬件·arm
爱学习的小道长9 分钟前
Ubuntu Python 使用 Redis 缓存
python·ubuntu·缓存
徐先生 @_@|||10 分钟前
三式掌握知识法
java·python
黎雁·泠崖11 分钟前
C 语言联合体与枚举:共用内存 + 常量枚举 + 实战
c语言·开发语言·python
yousuotu13 分钟前
基于Python实现亚马逊销售数据分析与预测
开发语言·python·数据分析