将字典写入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))
相关推荐
忆~遂愿几秒前
vLLM Ascend 项目架构解析与部署配置指南
人工智能·后端·python·ai
yuan20412 分钟前
PyCharm 安装 dlib 库
python·pycharm·dlib
物随心转2 分钟前
Arm的协处理器
linux·arm开发
Q_Q19632884752 分钟前
python+django/flask+vue基于机器学习的就业岗位推荐系统
spring boot·python·django·flask·node.js
小婷要努力4 分钟前
Linux常用命令速查表
linux·运维·服务器
艾上编程4 分钟前
Python 跨场景实战:从爬虫采集到 AI 部署的落地指南
python·数据分析·自动化
serve the people5 分钟前
tensorflow 零基础吃透:不规则维度 vs 均匀维度(RaggedTensor 核心概念)
人工智能·python·tensorflow
南极星10056 分钟前
OPENCV(python)--初学之路(十六)SURF简介
python·opencv·算法
Q_Q5110082858 分钟前
python+django/flask+vue基于深度学习的图书推荐系统
spring boot·python·django·flask·node.js·php
微风◝9 分钟前
AlmaLinux9-网络管理篇-更改网络接口名称
linux·运维·网络