超级好用的轻量级JSON处理命令jq
1 简介
jq是一个轻量级的命令行工具,让你可以非常方便地处理JSON数据,如切分、过滤、映射、转化等,就像sed、awk、grep文本处理三剑客一样。jq是用C写的,没有运行时依赖,你可以直接下载可执行文件就可以使用了。
2 下载安装
官网提供了可执行文件,可以直接下载使用,当然也可以通过源码编译。
我是直接下载的,然后给可执行权限:
$ chmod +x jq-osx-amd64
更名为jq:
$ mv jq-osx-amd64 jq
再加入PATH即可。
$ jq --version
jq-1.6
3 如何使用
官方提供了线上版本,可以直接使用,还给出了很多常用的例子,简直不要太方便:
3.1 一些简单的例子
过滤:获取全部内容:
$ echo '{"name":"Larry Deng"}' | jq .
{"name": "Larry Deng"
}
过滤:获取特定key值:
$ echo '{"name":"Larry Deng"}' | jq .name
"Larry Deng"
计算长度:
$ echo '{"name":"Larry Deng","age":18}' | jq '.name | length'
数学计算(求立方):
$ echo '[1,2,3]' | jq 'map(.*.*.)'
[1,8,27
]
截取数组部分(使用管道):
$ echo '[1,2,3]' | jq '.[0:2] | map(.*.*.)'
[1,8
]
读取key值:
$ echo '{"abc": 1, "abcd": 2, "Foo": 3}' | jq keys
["Foo","abc","abcd"
]
3.2 处理文件
除了可以通过管道来处理文本,也可以直接处理文件。把下面内容保存为jq.json:
{"info": [{"name":"Larry Deng","age":"18","webSite":"www.pkslow.com"},{"name":"Larry","age":"01","webSite":"pkslow.com"},{"name":"LarryDpk","age":"20","webSite":"https://www.pkslow.com"}],"version":"1.0.3"
}
处理如下:
$ jq .version jq.json
"1.0.3"$ jq .info[0] jq.json
{"name": "Larry Deng","age": "18","webSite": "www.pkslow.com"
}$ jq '.info |.[].name ' jq.json
"Larry Deng"
"Larry"
"LarryDpk"$ jq '.info |.[].webSite ' jq.json
"www.pkslow.com"
"pkslow.com"
"https://www.pkslow.com"
4 总结
jq真的很好用,特别是在我们通过curl获取json结果时。
更多使用请参考手册:jq Manual (development version)
超级好用的轻量级JSON处理命令jq相关推荐
- linux的json命令安装,linux 下强大的 JSON 解析命令 jq
介绍 jq is like sed for JSON data - you can use it to slice and filter and map and transform structure ...
- linux 下强大的 JSON 解析命令 jq
介绍 jq is like sedfor JSON data - you can use it to slice and filter and map and transform structured ...
- linux shell json解析命令 jq 简介
jq简介 jq可以对json数据进行分片.过滤.映射和转换,和sed.awk.grep等命令一样,都可以让你轻松地把玩文本.它能轻松地把你拥有的数据转换成你期望的格式,而且需要写的程序通常也比你期望的 ...
- cJSON_译(C中的超轻量级JSON解析器)
cJSON ANSI C中的超轻量级JSON解析器. 通行证 执照 版权所有(c)2009-2017 Dave Gamble和cJSON贡献者 特此免费授予获得此软件和相关文档文件("软件& ...
- c json保存整型数组_命令行JSON解析神器jq
我们都知道现在JSON是最常用的配置和数据交换格式之一,尤其是大量的系统API接口现在基本上都是以JSON格式显示结果.JSON(JavaScript Object Notation) 是一种轻量级的 ...
- linux服务器返回json,Linux 命令行工具解析和格式化输出 JSON的方法
JSON 是一种轻量级且与语言无关的数据存储格式,易于与大多数编程语言集成,也易于人类理解 -- 当然,如果格式正确的话.JSON 这个词代表 J ava S cript O bject N otat ...
- 【翻译】HTML5开发——轻量级JSON存储解决方案Lawnchair.js
[翻译]HTML5开发--轻量级JSON存储解决方案Lawnchair.js 参考文章: (1)[翻译]HTML5开发--轻量级JSON存储解决方案Lawnchair.js (2)https://ww ...
- 开源的轻量级JSON存储Kinto介绍
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/12/introducing-kinto Kinto是个提供了同步与分片功能的 ...
- 发现新大陆,超级好用的轻量级接口测试工具 Postcat
今天小白给大家推荐一个超级好用的轻量级的接口测试工具,相信Postman的强大大家都知道,我们平时在做接口测试和调试时,但我发现这个工具占用内容很高,很容易卡顿,痛苦的折磨让我不断寻找新的大陆! 两点 ...
最新文章
- eCos中的线程与同步
- mysql主从代替技术_mysql主从复制及失败切换
- Flink的设计与实现:集群资源管理
- delphi services允许跨域访问
- 不能连接到 mysql_怎么无法连接到数据库?
- kafka 幂等机制入门实例
- 程序员如何保护自己?
- Linux下的防火墙
- 算法导论第三版 第5章习题答案
- ecshop首页调用团购信息产品购买人数
- 关于U盘免疫的一些自我认识
- 计算机时钟周期的概念,指令周期、时钟周期、总线周期概念辨析
- 【转】如何用中控系统建造震撼的家庭影院
- 27_ArrayList类
- 自建家居 Wiki 系统(BookStack 服务)
- 电脑D盘格式化后能恢复数据吗 看了不后悔的图文教程
- Linux系统管理(二)连网
- 施工企业安全教育培训数字化解决方案
- 自然二进制与格雷码的转换
- 什么是事件驱动(EDA)
热门文章
- 推导并实现双摆【两连杆】的逆运动学--write hello
- 2021年广东省现代农业产业园申报资助及条件,补贴5000万
- 【学习经验分享NO.16】超全代码-python画Sigmoid,ReLU,Tanh等十多种激活函数曲线及其梯度曲线(持续更新)
- 对VirtualBox上的BT5虚拟机进行系统汉化步骤
- js关闭当前页面刷新父页面
- 怎样设置html默认打开网址,怎样设置默认网站-如何将IE默认打开的网页去掉?我的IE本来设置的主页是百度,但每 爱问知识人...
- mysql连接clickhouse_如何在ClickHouse中使用MySQL客户端
- input输入内容校验
- ajax传图片以及后台接收,Ajax上传图片,后台使用SpringBoot的MultipartFile类型接收的问题...
- 路由器配置loopback具体作用