news 2026/3/29 10:22:05

json.dumps() 的输出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
json.dumps() 的输出

json.dumps()的输出可能不符合我们的阅读习惯——这时候就需要用到参数来“美化”它。


二、参数 1:ensure_ascii=False

✅ 默认行为(不加这个参数):
json.dumps({"城市": "东京"}) # 输出:{"\u57ce\u5e02": "\u4e1c\u4eac"}

你会看到中文变成了\uXXXX这样的Unicode 转义序列,人眼难以阅读。

这是因为json.dumps()默认只输出 ASCII 字符(即英文字母、数字、基本符号),非 ASCII 字符(如中文、日文、emoji)会被自动转义。

🔧 加上ensure_ascii=False后:
json.dumps({"城市": "东京"}, ensure_ascii=False) # 输出:{"城市": "东京"}

✅ 中文直接显示为可读的汉字!

📌 教师小结:
  • ensure_ascii=True(默认):安全但不可读(适合机器传输)。
  • ensure_ascii=False:保留原始 Unicode 字符(如中文),适合人类阅读和调试
  • 在处理中文、日文等非英文内容时,一定要写ensure_ascii=False

三、参数 2:indent=2

✅ 默认行为(不加这个参数):
json.dumps([{"a": 1}, {"b": 2}]) # 输出:[{"a": 1}, {"b": 2}]

所有内容挤在一行,结构混乱,难以看清嵌套关系。

🔧 加上indent=2后:
json.dumps([{"a": 1}, {"b": 2}], indent=2) # 输出: [ { "a": 1 }, { "b": 2 } ]

✅ 自动换行 + 缩进,层次清晰,像写代码一样美观!

  • indent=2表示每层缩进用 2 个空格
  • 你也可以写indent=4(4 空格)、indent='\t'(制表符)等。
📌 教师小结:
  • indent参数用于格式化输出(pretty-print)
  • 数值越大,缩进越宽;
  • 仅用于调试或展示,正式 API 传输时通常不用(节省带宽)。

四、合起来看

print(json.dumps(final_json, ensure_ascii=False, indent=2))

这行代码的意思是:

“请把final_json这个 Python 对象,转换成一段人类可读的 JSON 字符串

  • 中文不要转成 \u 编码,直接显示汉字;
  • 用 2 个空格缩进,让结构清晰易读;
  • 然后打印出来。”

✅ 举个完整例子

假设final_json是:

[ { "路线方案": "方案 1 (推荐路线)", "风险提示": "该食品运输路线可能经过福岛県" } ]

加上这两个参数后,输出会是:

[ { "路线方案": "方案 1 (推荐路线)", "风险提示": "该食品运输路线可能经过福岛県" } ]

而如果不加,可能会变成:

[{"\u8def\u7ebf\u65b9\u6848": "\u65b9\u6848 1 (\u63a8\u8350\u8def\u7ebf)", "\u98ce\u9669\u63d0\u793a": "\u8be5\u98df\u54c1\u8fd0\u8f93\u8def\u7ebf\u53ef\u80fd\u7ecf\u8fc7\u798f\u5cf6\u770c"}]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/16 18:18:01

奥特IGBT光耦AT314,轻松实现IGBT驱动隔离电路耐压可达5000Vrms

随着电力电子技术的飞速发展,绝缘栅双极晶体管(IGBT)在电机控制、逆变电源等领域得到了广泛应用。为了实现高效、稳定的IGBT驱动,AT314光耦作为一种优秀的隔离器件,在IGBT驱动电路中发挥着重要作用。IGBT驱动光耦原理 …

作者头像 李华
网站建设 2026/3/27 0:40:43

数据库存储过程和函数的区别是什么?

摘要: 本报告旨在全面、深入地探讨数据库管理系统(RDBMS)中两个核心的可编程对象——存储过程(Stored Procedure)与函数(Function)——之间的区别。通过整合并分析大量的网络研究资料&#xff0…

作者头像 李华
网站建设 2026/3/15 14:32:51

git commit频繁?用vLLM日志监控提升模型服务稳定性

用vLLM日志监控提升模型服务稳定性 在如今的大模型时代,AI不再是实验室里的“演示项目”,而是企业核心业务中不可或缺的一环。从智能客服到内容生成,从代码辅助到决策支持,大语言模型(LLM)正在以惊人的速度…

作者头像 李华
网站建设 2026/3/27 1:12:25

四步优化APP描述,打造高转化率的“无声销售员”

应用商店里的APP描述,是用户了解你产品的第一扇窗。在短短几十秒的浏览时间里,这份描述决定了用户是否会点击“下载”。一个优秀的产品描述不仅是功能说明书,更是产品的“无声销售员”。如何才能写出既专业又具吸引力的应用描述?以…

作者头像 李华
网站建设 2026/3/21 19:22:44

姿轨控动力学仿真程序轨道部分的基本测试方法

轨道动力学程序基本测试方法 1. 引言 轨道动力学程序的正确性是计算轨道特性和验证姿轨控程序的必要条件,而轨道动力学程序也需要严格可信的验证和测试。 在轨道与位置动力学仿真中,“程序能跑”不等于“动力学是对的”。 由于数值积分、坐标系、符号方向…

作者头像 李华
网站建设 2026/3/27 0:49:38

vLLM为何能将大模型吞吐提升10倍?技术细节曝光

vLLM为何能将大模型吞吐提升10倍?技术细节曝光 在当前大语言模型(LLMs)加速落地的浪潮中,推理效率正成为决定产品成败的关键。当企业试图部署像 LLaMA、Qwen 或 ChatGLM 这类百亿参数级模型时,常常面临一个尴尬局面&am…

作者头像 李华