python 让你print出来的json数据格式好看起来并解决中文乱码问题

博客主要讲述使用Python打印JSON格式数据时遇到的问题及解决办法。一是解决格式问题,通过设置indent和sort_keys参数处理;二是解决中文乱码问题,给dumps添加特定参数即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python 让你print出来的json数据格式好看起来


   

前言

   之前有需要print一些json格式的数据,因为那些数据量小,打印在一行也将就能找到哪儿是哪儿的,但是今天来了个这样色儿的:

在这里插入图片描述
啊这~
在这里插入图片描述

没办法,解决一下吧!

一、解决格式问题

其实比较简单的一句话就可以搞定

data = data.json() #data为json格式的数据
print(json.dumps(data,sort_keys=True,indent=4))

indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据;否则会换行且按照indent的数量显示前面的空白
sort_keys:将数据根据keys的值进行排序

处理之后的效果:

在这里插入图片描述

二、解决中文乱码的问题

此时,有的读者会发现,唉?怎么没有中文了呢?
好家伙,中文全部乱码了
在这里插入图片描述
这个怎么解决?其实只需要给dumps添加一个参数就可以了,上面的代码修改如下:

data = data.json() #data为json格式的数据
print(json.dumps(data,sort_keys=True,indent=4,ensure_ascii=False))

舒服了呀~

最后

非常开心又给大家完成了一次分享,剩下的就是…求赞啦!!!都看到这啦,创作不易,留下你们宝贵的赞吧~

### Python 处理 JSON 时出现中文乱码解决方案 当遇到 Python 中处理 JSON 数据时出现中文乱码的情况,通常是因为编码设置不当所致。为了确保程序能够正确解析显示中文字符,在编写涉及 JSON 的代码之前,应当确认脚本文件头部包含了 UTF-8 编码声明: ```python # -*- coding:utf-8 -*- ``` 此外,对于 Python 版本低于 3.x 的环境,可能还需要调整系统的默认字符串编码方式来避免潜在的兼容性问题[^1]。 然而,在现代版本的 Python (即 Python 3 及以上),推荐的做法是在加载和保存 JSON 文件的过程中显式指定 `ensure_ascii=False` 参数,这可以防止非 ASCII 字符被转义成 `\uXXXX` 形式的 Unicode 序列,从而保持原始的可读形式: ```python import json data = {'name': '张三', 'age': 20} with open('output.json', 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False) with open('output.json', 'r', encoding='utf-8') as f: data_loaded = json.load(f) print(data_loaded['name']) # 输出应为'张三' ``` 如果上述措施仍无法解决问题,则可能是由于终端或编辑器本身的编码配置引起的。此时建议检查所使用的 IDE 或命令行工具是否已设定为支持 UTF-8 编码模式,尝试通过修改这些外部因素来消除乱码现象[^2]。 另外,针对特定库如 Matplotlib 导致的绘图文字乱码情况,可以通过自定义字体路径的方式加以修正。具体操作包括定位到 Matplotlib 配置文件的位置通过适当的方法引入适合渲染汉字的 TrueType 字体文件[^3]。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自由学者亻伊宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值