如何在 Linux 终端中漂亮地打印 JSON 文件

JSON 文件很棒,因为它们以人类可读的格式存储数据集合。 但是,如果 JSON 文件被缩小,读取 JSON 文件可能会很痛苦。

以此为例:

计算机可以很容易地阅读它。 即使是人类仍然可以阅读它,但如果 JSON 文件格式正确以显示内容,它会容易得多。 我的意思是 JSON 文件毕竟应该是这样读的:

您可以使用带有一些插件的大多数文本编辑器以正确的格式显示它。 但是,如果您被困在终端上,或者您想在 shell 脚本中执行此操作,则情况会有所不同。

如果您有一个缩小的文件,让我向您展示如何在 Linux 终端中漂亮地打印 JSON 文件。

在 Linux 中使用 jq 命令漂亮地打印 JSON

知乎 是一个命令行 JSON 处理器。 您可以使用它来切片、过滤、映射和转换结构化数据。 我不会在这里详细介绍如何使用 jq 命令行工具。

要使用jq,您需要先安装它。 您可以使用发行版的包管理器来安装它。 启用 Universe 存储库后,您可以使用 apt 命令将其安装在 Ubuntu 上:

sudo apt install jq

安装完成后,按以下方式使用它在显示器上漂亮地打印 JSON 文件:

jq . sample.json

您可能也想使用 cat 但我相信这是 cat 命令的无用用法之一。

cat sample.json | jq

请记住,上述命令不会影响原始 JSON 文件。 不会对其写入任何更改。

您可能已经知道如何将命令输出重定向到 Linux 中的文件。 您可能也知道不能重定向到同一个文件,并且不能保证 tee 命令一直有效。

如果你想用漂亮的打印格式修改原始 JSON 文件,你可以将解析后的输出通过管道传输到一个新文件,然后将其复制到原始 JSON 文件中。

jq . sample.json > pretty.json

奖励:使用 jq 命令缩小 JSON 文件

让我们采取相反的立场并缩小格式良好的 JSON 文件。 要缩小 JSON 文件,您可以使用压缩选项 -c。

jq -c < pretty.json

如果需要,您还可以使用 cat 和重定向:

cat pretty.json | jq -c

在 Linux 中使用 Python 漂亮地打印 JSON 文件

您的系统上安装 Python 的可能性更大。 如果是这种情况,您可以使用它在终端中漂亮地打印 JSON 文件:

python3 -m json.tool sample.json

我知道还有其他方法可以解析 JSON 文件并以正确的格式打印它。 您可以自己探索它们,但这两个足以完成漂亮打印 JSON 文件的工作。