python 数据写入json文件时中文显示Unicode编码问题

python 数据写入json文件时中文显示Unicode编码问题

一、问题描述

import json

dir = {

'春晓':'asfffa',

'春眠不觉晓' : '处处闻啼鸟',

'夜来风雨声' : 56789,

'asdga':'asdasda'

}

fp = open('G:/aa.json', 'w')

fp.write(json.dumps(dir))

fp.close()

上边这段代码把字典转为json后,写入json文件中。当打开json文件时,会发现里边的中文全都变成Unicode编码,如下所示

{"\u6625\u6653": "asfffa", "\u6625\u7720\u4e0d\u89c9\u6653": "\u5904\u5904\u95fb\u557c\u9e1f", "\u591c\u6765\u98ce\u96e8\u58f0": 56789, "asdga": "asdasda"}

二、原因

为什么数据导出时,中文会变成Unicode编码?

json.dumps()方法将dict的数据转换为string数据,然后将string写入到文本中,但是json.dumps()方法会默认将其中unicode码以ascii编码的方式输入到string。

三、解决办法

在json.dumps()方法中加入一个参数,并把值设置为False(默认为True)

fp.write(json.dumps(dir,ensure_ascii=False))

设置了这个参数后,完美解决

相关推荐

如何申请快手直播权限?一篇手把手的全攻略
巧之木qzm
365bet取款要多久到账

巧之木qzm

📅 11-02 👁️ 1469
键盘各个按键符号的名称及功能作用
365BET导航

键盘各个按键符号的名称及功能作用

📅 08-24 👁️ 1417
一加3T评测:性能优越、拍照出众,续航表现抢眼
365bet取款要多久到账

一加3T评测:性能优越、拍照出众,续航表现抢眼

📅 01-10 👁️ 1046
SE7EN与YG分道扬镳 曾合作十年
365BET导航

SE7EN与YG分道扬镳 曾合作十年

📅 08-24 👁️ 7377
探索利用DOS命令打开文件的方法(简便快捷的文件访问与管理方式)
微信朋友圈怎么清理?三种实用方法全解析
365bet最快线路监测中心

微信朋友圈怎么清理?三种实用方法全解析

📅 09-28 👁️ 4081
女士内衣尺码对照表
365BET导航

女士内衣尺码对照表

📅 07-07 👁️ 1335
0进球也足够伟大:分析吉鲁18年世界杯的贡献和局限性
365bet最快线路监测中心

0进球也足够伟大:分析吉鲁18年世界杯的贡献和局限性

📅 10-10 👁️ 9272
微软手机640怎么样?(功能全面,性价比高,是性能不俗的入门级智能手机)
手机内存大小真的影响性能吗?一篇文章让你明白真相
365bet最快线路监测中心

手机内存大小真的影响性能吗?一篇文章让你明白真相

📅 10-31 👁️ 6673
王者荣耀里的老熟人,亚瑟究竟可以克制哪些英雄呢
365bet最快线路监测中心

王者荣耀里的老熟人,亚瑟究竟可以克制哪些英雄呢

📅 09-27 👁️ 2001