如何在 Python 中漂亮地打印 JSON 文件?
原文由 Colleen 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在命令行上执行此操作:
python3 -m json.tool some.json
(正如问题的评论中已经提到的,感谢@Kai Petzke 的 python3 建议)。
实际上,就命令行上的 json 处理而言,python 并不是我最喜欢的工具。对于简单的漂亮打印是可以的,但如果你想操作 json,它可能会变得过于复杂。您很快就需要编写一个单独的脚本文件,您最终可能会得到其键为 u”some-key”(python unicode)的地图,这使得选择字段更加困难并且不会真正朝着漂亮的方向发展-印刷。
您还可以使用 jq :
jq . some.json
并且您会获得颜色作为奖励(并且更容易扩展)。
附录:关于一方面使用 jq 处理大型 JSON 文件,另一方面有一个非常大的 jq 程序的评论中存在一些混淆。对于漂亮打印由单个大型 JSON 实体组成的文件,实际限制是 RAM。对于漂亮打印由单个真实世界数据数组组成的 2GB 文件,漂亮打印所需的“最大驻留集大小”为 5GB(无论是使用 jq 1.5 还是 1.6)。另请注意,jq 可以在 pip install jq
之后在 python 中使用。
原文由 Gismo Ranas 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
使用
indent=
参数json.dump()
或json.dumps()
指定要缩进多少个空格:要解析文件,请使用
json.load()
: