将字典写入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))
相关推荐
哥本哈士奇(aspnetx)8 小时前
Streamlit + LangChain 1.0 简单实现智能问答前后端
python·大模型
我一定会有钱8 小时前
斐波纳契数列、end关键字
python
虾..9 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙9 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
小鸡吃米…9 小时前
Python 列表
开发语言·python
星依网络10 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定
大佐不会说日语~10 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
2501_9216494910 小时前
如何获取美股实时行情:Python 量化交易指南
开发语言·后端·python·websocket·金融
qq_4480111611 小时前
python HTTP请求同时返回为JSON的异常处理
python·http·json
hkhkhkhkh12311 小时前
Linux设备节点基础知识
linux·服务器·驱动开发