首页 编程技术jq: 在Linux通过命令行处理 JSON

jq: 在Linux通过命令行处理 JSON

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令 行下对 JSON 进行操作,包括分片、过滤、转换等等。

让我们通过几个例子来说明 jq 的功能:

漂亮打印

如果我们用文本编辑器打开 JSON,有时候可能看起来会一团 糟,但是通过 jq 的 .(点)过滤器就可以立马让 JSON 的格式规整起来。
[code language=”shell”]% jq . soundtag.json[/code]

用文本编辑器打开后的样子
jq json

用 jq 显示的结果
jq json

快速查询

利用 jq 能够以 key 作为关键字来对 JSON 作出快速查询, 例如:
[code language=”shell”]% jq .cn soundtag.json[/code]
这将仅仅显示 cn 键对应的值。

jq 的键查询也支持链式调用,如:
[code language=”shell”]% jq .cn[0].pNum soundtag.json[/code]

管道操作

熟悉命令行的朋友可能都知道 | (管道)是一个非常强大的 武器。幸运的是,jq 也提供了对管道的支持。
[code language=”shell”]% jq ‘.cn[] | { pNum }’ soundTag.json[/code]
在这里,我们使用管道过滤并构造出 pNum 对象。

总结

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

原文来自: LinuxToy

本文链接:http://www.yunweipai.com/3496.html

网友评论comments

发表评论

邮箱地址不会被公开。

暂无评论

Copyright © 2012-2021 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部