设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

jq: 从命令行处理 JSON

2014-3-12 09:47| 发布者: 红黑魂| 查看: 1950| 评论: 0|来自: linuxtoy

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

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


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


漂亮打印


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


% jq . soundtag.json


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



用 jq 显示的结果


快速查询


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


% jq .cn soundtag.json

这将仅仅显示 cn 键对应的值。


jq 的键查询也支持链式调用,如:


% jq .cn[0].pNum soundtag.json

管道操作


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


% jq '.cn[] | { pNum }' soundTag.json

在这里,我们使用管道过滤并构造出 pNum 对象。


总结


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



酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部