jq简介

jq 是一款命令行下处理 JSON 数据的工具。其可以接受标准输入,命令管道或者文件中的 JSON 数据,经过一系列的过滤器(filters)和表达式的转后形成我们需要的数据结构并将结果输出到标准输出中。jq 的这种特性使我们可以很容易地在 Shell 脚本中调用它。jq支持的平台有linux/osx/windows等等,目前为止最新版本为1.5,官方链接:https://stedolan.github.io/jq/

jq安装方法

debian/ubuntu安装源安装:sudo apt-get install jq

如果安装的版本不是最新的1.5,请更换一下安装源!

下载二进制安装:wget http://stedolan.github.io/jq/download/linux64/jq

chmod +x ./jq

sudo cp jq /usr/bin

源码安装方法为:git clone https://github.com/stedolan/jq.git

cd jq

autoreconf -i

./configure --disable-maintainer-mode

make

sudo make install

jq的简单使用

{

"Name": "吾八哥",

"Age": 33,

"website": "www.5bug.wang",

"Group": [{

"ID": 1001,

"Name": "讨论组1"

},

{

"ID": 1002,

"Name": "讨论组2"

}]

}

简单的读取方法如下:

#存储到json变量里json=$(cat test.json)

#以json格式显示echo $json | jq '.'

#读取Name字段echo $json | jq '.Name'

#读取Group的长度echo $json | jq '.Group | length'

#读取Group数组内的索引为1的item里的IDecho $json | jq '.Group[1].ID'

#读取website和Group数组内的索引为1的itemecho $json | jq '[.website,.Group[1]]'

#显示当前层下所有的字段名json | jq '.' | jq 'keys'

#判断是否包含某个字段名echo $json | jq '.' | jq 'has("Age")'

这里只是非常基础的使用方法,还有很多其他的好用的功能,例如fitter,数组切片,迭代器,内置运算,映射,过滤路径操作等等,大家可以看看文档稍微了解一下留个印象,以后遇到类似的使用场景就知道是否可以通过jq来实现了!

linux下json数据解析,Linux下使用jq简单解析json的方法相关推荐

  1. 大数据培训课程数据清洗案例实操-简单解析版

    数据清洗(ETL) 在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据.清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序.大数据培训 数据 ...

  2. linux exp 导出数据库命令,linux exp 导出数据库

    解决Linux系统下exp导入EXP-00028异常 问题描述: 在Linux系统中,对某个数据库用户进行exp导出备份时,出现下述异常: Oracle Database 11g Enterprise ...

  3. linux有名管道数据异常,Linux系统编程—有名管道

    ▋****1. 管道的概念 管道,又名「无名管理」,或「匿名管道」,管道是一种非常基本,也是使用非常频繁的IPC方式. 1.1 管道本质 管道的本质也是一种文件,不过是伪文件,实际上是一块内核缓冲区, ...

  4. java解析与生成json数据的四种方式,比如将json字符串转为json对象或json对象转为json字符串

    文章目录 1. 详说json 1.1 何为json 1.2 json语法 2. Java解析与生成JSON的四种方式 2.1 传统方式 2.2 利用Jackson方式 2.3 利用Gson方式 2.4 ...

  5. 下一跳—数据包的下一跳目的地址

    下一跳是下一步要处理数据包的设备的地址.对网络中的主机而言,默认网关(路由器接口)的地址是以其它网络为目的地址的所有数据包的下一跳. 在路由器的路由表中,每条路由都会列出该路由包含的每个目的地址的下一 ...

  6. Java Json数据中有双引号未转义的解析报错

    例如Json数据中有双引号,解析时会报Json格式错误或者转义有问题 {"content": "重要任务提醒","matterName": ...

  7. 怎么把json数据转化为数组_RESTful API 返回统一JSON数据格式是怎么实现的?

    关于 Spring 的全局处理,我有两方面要说: 统一数据返回格式 统一异常处理 为了将两个问题说明清楚,将分两个章节分别说明,本章主要说第一点 有童鞋说,我们项目都做了这种处理,就是在每个 API ...

  8. nodejs 遍历json数据_PostgreSQL 务实应用(四/5)JSON

    JSON 可谓风靡互联网,在数据交换使用上,其优势特别明显,其结构简洁.可读易读.形式灵活.很多 API 接口的数据都采用 JSON 来表示. PostgreSQL 对 JSON 提供了良好的支持.具 ...

  9. php post api json数据,php – REST API:请求身份为JSON或纯POST数据?

    POST,PUT,GET都是HTTP动词,并且本身并不表示传输数据的格式,因此没有POST格式.这意味着您可以按照您选择的任何方式对数据进行编码. 现在,你决定采用什么样的格式,真的应该是一个API通 ...

最新文章

  1. #修改margin_springboot+jpa+tymeleaf实现信息修改功能
  2. python实训报告pygame_[源码和文档分享]基于Python的PyGame库实现的2048小游戏
  3. mysql memcached java_java缓存技术memcached实例
  4. 力扣24,两两交换链表中的节点(javascript)
  5. 命令行,使用java的java 命令,直接调用执行class文件
  6. python课程开课吧怎么样-开课吧最新廖雪峰Python商业爬虫课程,全套完整课程资源下载...
  7. 云服务器常用端口及其含义
  8. python 贪吃蛇
  9. 软件开发项目各阶段交付物列表
  10. win10文件服务器怎么进,如何从win10进入云服务器
  11. H3C MSR 2600-10 Winet 交换机consol口设置
  12. PPT差点被对手盗用?教你9种方法,打上你的个人信息!
  13. 学习文档【超详细中文版】(小甲鱼视频)
  14. python电商_电商数据分析(python)
  15. 非常棒的开源协同办公OA项目,收藏了!
  16. u-boot启动流程简图 --木草山人
  17. 希沃白板5服务器无响应,希沃白板5使用方法以及注意事项
  18. 在什么场景下要使用类方法
  19. Vegas为什么能够那么秀?
  20. MyBatis 、MySQL 、Hibernate、ORM、JDBC

热门文章

  1. android view超出屏幕_Android APP界面保持屏幕常亮方法
  2. PHP通过CURL或file_get_contents请求第三方地址
  3. 微信小程序开发打开另一个小程序的实现方法
  4. ajax 访问mysql_AJAX 数据库实例
  5. nginx php返回500错误,nginx环境thinkphp,500错误
  6. rp软件app流程图_Axure RP 9 for Mac交互原型设计软件
  7. glove中文词向量_NLP中文文本分类任务的笔记(一)
  8. 【JSP EL表达式】动态表达式/表达式拼接
  9. MYSQL 常用 DDL
  10. 【SSL】keytool复制证书