python使用json.dumps输出中文问题
作者:林新发 发布时间:2023-11-17 22:04:46
标签:python,json.dumps,输出中文
使用json.dumps输出中文
在使用json.dumps时要注意一个问题
>>> import json
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"
输出的会是
‘中国’ 中的ascii字符码,而不是真正的中文。
这是因为json.dumps序列化时对中文默认使用的ascii编码
想输出真正的中文需要指定ensure_ascii=False:
>>> import json
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"
>>> print(json.dumps('中国', ensure_ascii=False))
"中国"
Python json.dumps()中文乱码
有一段代码如下:
def save_data(self,data):
print(data)
#ensure_ascii=False
data=json.dumps(data)
print(data)
with open('ljd.json',mode='w',encoding='utf-8') as f:
f.write(data)
date在传递进来之前是字典格式数据,现在为了能保存到文件中,因此用json.dumps(data)来将字典数据转换为json字符串,但是转换以后前后显示就有问题了,如下:
发现转换以后,中文乱码了。
原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。
更改如下:
def save_data(self,data):
print(data)
#ensure_ascii=False
data=json.dumps(data,ensure_ascii=False)
print(data)
with open('ljd.json',mode='w',encoding='utf-8') as f:
f.write(data)
而后,显示正常!
来源:https://linxinfa.blog.csdn.net/article/details/95170421
0
投稿
猜你喜欢
- 前言之前做过pyqt的一个简单界面,在一个窗口(MainWindow)中实现一些操作;之前嫌麻烦没有去做多窗口和它们的切换功能。最近研究了下
- 数据持久化vuex-persistedstate使用vuex是在中大型项目中必不可少的状态管理组件,刷新会重新更新状态,但是有时候我们并不希
- names=["zhao00","qian01","sun02","l
- 1、csv文件的导入和导出 通过一个矩阵导出为csv文件,将csv文件导入为矩阵将csv文件导入到一个矩阵中import numpy my_
- GO项目目录解释src存放源代码pkg编译后生成的文件bin编译后生成的可执行文件背景在src目录下,新建文件test.go,编写代码。控制
- 本文实例讲述了Go语言通过smtp发送邮件的方法。分享给大家供大家参考。具体实现方法如下:package mainimport ( 
- 本文实例讲述了Python数据预处理之数据规范化。分享给大家供大家参考,具体如下:数据规范化为了消除指标之间的量纲和取值范围差异的影响,需要
- 实现代码如下:# -*- coding: utf-8 -*-import math, random,timeimport threading
- 前几天小芳同学一直在群发起一些加速的话题,我已经把聊天记录抽出来,正打算整理出份像样的,没想到小芳同学非常速度的出了这篇。我的就省掉了,挖哈
- 前言说说外星人那些事儿....你以为的外星人......他们都是乘坐UFO来地球的,长的嗯哼可能比较有特色。也许长这样害!其实可能也或许不长
- 作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情。部署一次程序要使用好几个工具,
- 本文实例讲述了javascript实现Table排序的方法。分享给大家供大家参考。具体实现方法如下:<!DOCTYPE html PU
- 功能描述:如图,右侧悬浮菜单按钮,只支持上下方向拖动,点击时展开或关闭菜单。BUG说明:鼠标上下方向拖拽,如果松开时鼠标位于悬浮按钮上会默认
- 记录日志是我们程序中必不可少的一个功能,但是日志文件如果没有合理的管理,时间长了几百兆的日志文件就很难分析了(都不想打开看),但是又不可能经
- 摘要:python的设计核心原则就是简洁——在这种原则的指导下,诞生了lambda表达式和偏函数:二者都让函数调用变得简洁。本文主要为你介绍
- 问题描述??输入一个正整数n在n*n的方阵内填入1,2,3,4…n*n,要求填成蛇形。(回旋的向中间收敛)样例输入:4样例输出:不必严格按照
- 一、oracle oracle服务器有Oracle instace 和Oracle database instance有memory str
- 本文实例为大家分享了php bootstrap实现简单登录的方法,供大家参考,具体内容如下所有文件 记住是获取name键值对 from 里面
- 简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不
- 我们经常在使用CLI工具的时候,都会有这样的参数输出:➜ ~ docker versionClient: Docker Engine - C