怎样让json格式文本以JSON格式化

怎样让json格式文本以JSON格式化在Linux命令行中格式化输出json原创 TIAP TIAP 2022-12-3007:35 发表于山东收录于合集#Linux158个TIAP技术分享,经验交流,职业生涯探讨。120篇原创内容公众号json 文件是以人类可读形

大家好,欢迎来到IT知识分享网。

在 Linux 命令行中格式化输出 json

怎样让json格式文本以JSON格式化
TIAP

技术分享,经验交流,职业生涯探讨。
120篇原创内容

json 文件是以人类可读形式存储数据的首选文件,但是当它们被压缩编写(不带缩进及换行格式)时,读起来就不那么容易了。

当然,即便是压缩编写,其依然是人类可读的方式,但是保持一个良好的编写格式,会更易读。如下图所示:

图片

在本篇文章中,我们使用如下非结构化的 json 文件作为演示的例子:

{"menu": {"id": "file","value": "File","popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}

下面我们来分享几个格式化输出 json 文件的方法。

方法1:使用 jq 命令

jq 是一个命令行 json 处理器,允许用户以各种方式修改 json 文件,允许用户使用各种选项重新格式化 json 文件。

但是默认情况下它没有被安装在系统中,需要先安装。在基于 Debian 的系统中,可以使用如下命令安装 jq:

sudo apt install jq

格式化 json 文件最直接的方法是在文件名前面添加一个点 . :

jq . File.json

图片

jq 允许用户使用以下两种方式格式化 json 文件:

  • –tab 可以为每个缩进添加一个 tab 缩进,而不是默认的两个空格;

  • –indent number 允许用户为每个缩进级别添加空格(最多8个)。

比如,我们为每个缩进添加 4 个空格,可使用如下方式:

jq . --indent 4 File.json

图片

方法2:使用 json_pp

json_pp 是一个 Perl 模块,用于将输入转换为不同的输出格式,也可以用户格式化输出 json 文件。

它需要借助管道重定向与 cat 命令才能工作,如下所示:

cat File.json | json_pp

图片

方法3:使用 Python 格式化输出 json 文件

Python 已经在大多数系统中默认安装了,所以我们可以借助 Python 来完成我们的任务。

要格式化输出 json 文件,可以使用 json.tool,如下所示:

python3 -m json.tool File.json

图片

方法4:使用 json_xs

该方法不会在终端中显示任何结果,但是会对文件本身进行更改。这也是我们所列的 4 种方法中唯一一个可以直接保存更改的方法。

比如,我们将格式化后的文件保存到名为 Structured.json 的新文件中:

<File.json json_xs >Structured.json

图片

以上就是本次分享全部内容,欢迎讨论。

 

收录于合集 
#Linux

 158

上一篇分享一个小工具:duf 命令下一篇Linux 中的 tree 命令

阅读 1341

怎样让json格式文本以JSON格式化
TIAP
120篇原创内容

 
写下你的留言

精选留言

  • 怎样让json格式文本以JSON格式化
    jless也不错

     

    怎样让json格式文本以JSON格式化

     

已无更多数据
 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31085.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信