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相关推荐

  1. 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 ...

  2. linux 下强大的 JSON 解析命令 jq

    介绍 jq is like sedfor JSON data - you can use it to slice and filter and map and transform structured ...

  3. linux shell json解析命令 jq 简介

    jq简介 jq可以对json数据进行分片.过滤.映射和转换,和sed.awk.grep等命令一样,都可以让你轻松地把玩文本.它能轻松地把你拥有的数据转换成你期望的格式,而且需要写的程序通常也比你期望的 ...

  4. cJSON_译(C中的超轻量级JSON解析器)

    cJSON ANSI C中的超轻量级JSON解析器. 通行证 执照 版权所有(c)2009-2017 Dave Gamble和cJSON贡献者 特此免费授予获得此软件和相关文档文件("软件& ...

  5. c json保存整型数组_命令行JSON解析神器jq

    我们都知道现在JSON是最常用的配置和数据交换格式之一,尤其是大量的系统API接口现在基本上都是以JSON格式显示结果.JSON(JavaScript Object Notation) 是一种轻量级的 ...

  6. linux服务器返回json,Linux 命令行工具解析和格式化输出 JSON的方法

    JSON 是一种轻量级且与语言无关的数据存储格式,易于与大多数编程语言集成,也易于人类理解 -- 当然,如果格式正确的话.JSON 这个词代表 J ava S cript O bject N otat ...

  7. 【翻译】HTML5开发——轻量级JSON存储解决方案Lawnchair.js

    [翻译]HTML5开发--轻量级JSON存储解决方案Lawnchair.js 参考文章: (1)[翻译]HTML5开发--轻量级JSON存储解决方案Lawnchair.js (2)https://ww ...

  8. 开源的轻量级JSON存储Kinto介绍

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/12/introducing-kinto Kinto是个提供了同步与分片功能的 ...

  9. 发现新大陆,超级好用的轻量级接口测试工具 Postcat

    今天小白给大家推荐一个超级好用的轻量级的接口测试工具,相信Postman的强大大家都知道,我们平时在做接口测试和调试时,但我发现这个工具占用内容很高,很容易卡顿,痛苦的折磨让我不断寻找新的大陆! 两点 ...

最新文章

  1. eCos中的线程与同步
  2. mysql主从代替技术_mysql主从复制及失败切换
  3. Flink的设计与实现:集群资源管理
  4. delphi services允许跨域访问
  5. 不能连接到 mysql_怎么无法连接到数据库?
  6. kafka 幂等机制入门实例
  7. 程序员如何保护自己?
  8. Linux下的防火墙
  9. 算法导论第三版 第5章习题答案
  10. ecshop首页调用团购信息产品购买人数
  11. 关于U盘免疫的一些自我认识
  12. 计算机时钟周期的概念,指令周期、时钟周期、总线周期概念辨析
  13. 【转】如何用中控系统建造震撼的家庭影院
  14. 27_ArrayList类
  15. 自建家居 Wiki 系统(BookStack 服务)
  16. 电脑D盘格式化后能恢复数据吗 看了不后悔的图文教程
  17. Linux系统管理(二)连网
  18. 施工企业安全教育培训数字化解决方案
  19. 自然二进制与格雷码的转换
  20. 什么是事件驱动(EDA)

热门文章

  1. 推导并实现双摆【两连杆】的逆运动学--write hello
  2. 2021年广东省现代农业产业园申报资助及条件,补贴5000万
  3. 【学习经验分享NO.16】超全代码-python画Sigmoid,ReLU,Tanh等十多种激活函数曲线及其梯度曲线(持续更新)
  4. 对VirtualBox上的BT5虚拟机进行系统汉化步骤
  5. js关闭当前页面刷新父页面
  6. 怎样设置html默认打开网址,怎样设置默认网站-如何将IE默认打开的网页去掉?我的IE本来设置的主页是百度,但每 爱问知识人...
  7. mysql连接clickhouse_如何在ClickHouse中使用MySQL客户端
  8. input输入内容校验
  9. ajax传图片以及后台接收,Ajax上传图片,后台使用SpringBoot的MultipartFile类型接收的问题...
  10. 路由器配置loopback具体作用