脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - shell - 在Shell命令行处理JSON数据的方法

在Shell命令行处理JSON数据的方法

2022-12-29 12:43shell教程网 shell

这篇文章主要介绍了在Shell命令行处理JSON数据的方法,使用jq工具实现,需要的朋友可以参考下

因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。
让我们通过几个例子来说明 jq 的功能:
一、输出格式化,漂亮的打印效果
如果我们用文本编辑器打开 JSON,有时候可能看起来会一团糟,但是通过 jq 的 .(点)过滤器就可以立马让 JSON 的格式规整起来。
1.用文本编辑器打开后的样子

2.用 jq 显示的结果

复制代码 代码如下:
% jq . soundtag.json


在Shell命令行处理JSON数据的方法


二、快速查询JSON数据
利用 jq 能够以 key 作为关键字来对 JSON 作出快速查询, 例如:

复制代码 代码如下:
% jq .cn soundtag.json


这将仅仅显示 cn 键对应的值。
jq 的键查询也支持链式调用,如:

复制代码 代码如下:
% jq .cn[0].pNum soundtag.json


三、jq的管道操作
熟悉命令行的朋友可能都知道 | (管道)是一个非常强大的 武器。幸运的是,jq 也提供了对管道的支持。

复制代码 代码如下:
% jq '.cn[] | { pNum }' soundTag.json


在这里,我们使用管道过滤并构造出 pNum 对象。
四、总结
如果你需要在命令行下处理 JSON,我强烈推荐 jq。jq 不仅 能够满足一般性的常见需求,更包含运算、内置函数、条件比较、 变量声明、自定函数等强大功能。对此感兴趣的朋友,不妨通过 jq 的官方手册 进行学习。

延伸 · 阅读

精彩推荐