虽然 JSON 文件更适合以人类可读的形式存储数据,但当它们被缩小时足以让人头疼。
当然,无论如何它都将保持人类可读的形式,但拥有格式良好的文件总是很容易。 因此,让我首先分享您对本指南的期望:
在本指南中,我将使用以下非结构化 JSON 文件来确保相关性:
{"menu": {"id": "file","value": "File","popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}
现在,让我分享各种以结构化、人类可读的格式读取 JSON 文件的方法。
方法 1:使用 jq 命令漂亮地打印 JSON 文件
jq 是一个命令行 JSON 处理器,它允许用户以各种方式修改 JSON 文件,允许用户使用各种选项来重新格式化他们的 JSON 文件。
但是需要先安装。 如果您使用的是基于 Debian 的发行版,则可以使用以下命令:
sudo apt install jq
重新格式化 JSON 文件最直接的方法是在文件名后面加上 .
:
jq . File.json
jq 允许用户以两种方式格式化他们的文件:
--tab
将为每个缩进级别添加一个制表符,而不是默认的两个空格。--indent number
允许用户为每个缩进级别添加空格(最多 8 个)。
为了 example,我将为每个缩进添加四个空格:
jq . --indent 4 File.json

方法二:使用 json_pp 漂亮地打印 JSON 文件
json_pp 是一个 Perl 模块,旨在将输入转换为不同的输出格式,也可用于漂亮地打印 JSON 文件。
它需要使用 cat 命令进行管道传输才能工作。 让我告诉你怎么做:
cat File.json | json_pp

方法3:使用Python漂亮打印JSON文件
作为大多数系统的一个组成部分,有什么不让 Python 完成我们想要的任务呢?
要使用 Python 格式化 JSON 文件,我将使用 json.tool
与 -m
选项:
python3 -m json.tool File.json

方法四:使用 json_xs 命令漂亮打印 JSON 文件
这不会在 STDIN 中显示任何结果,但会在文件本身中进行更改。 使其成为在整个指南中直接保存更改的唯一方法。
为了 example,我会将更改保存到一个名为 Structured.json
:
<File.json json_xs >Structured.json

总结
这是我对如何通过多种方法在 Linux 中打印漂亮的 JSON 文件的看法。 如果你想完全控制格式,我建议使用第一种方法。
如果您仍有任何疑问,请随时在评论部分提出。