1、安装

mac 安装:
brew install jq centos 安装:
yum install jq ubuntu: 安装:
apt-get install jq

2、使用

cat test.json

{
"Type": "online_confirm_order_bill",
"Source": "MEITUAN",
"AreaCode": 2,
"OutCode": "14769782825369498",
"OutStoreCode": "586",
"OnlineChannelCode": 2,
"OrderCreateDate": "2018-12-18 17:50:08",
"Items": [
{
"OutCommodityCode": "2035253",
"CommodityQty": 1,
"CommodityName": "品胜1A充电器",
"CommodityPrice": 3800,
"AvailableNum": 6
},
{
"OutCommodityCode": "2040664",
"CommodityQty": 1,
"CommodityName": "Z品胜双面USB苹果充电线",
"CommodityPrice": 3600,
"AvailableNum": 3
}
]
}

  

jq . test.json

{
"Type": "online_confirm_order_bill",
"Source": "MEITUAN",
"AreaCode": 2,
"OutCode": "14769782825369498",
"OutStoreCode": "586",
"OnlineChannelCode": 2,
"OrderCreateDate": "2018-12-18 17:50:08",
"Items": [
{
"OutCommodityCode": "2035253",
"CommodityQty": 1,
"CommodityName": "品胜1A充电器",
"CommodityPrice": 3800,
"AvailableNum": 6
},
{
"OutCommodityCode": "2040664",
"CommodityQty": 1,
"CommodityName": "Z品胜双面USB苹果充电线",
"CommodityPrice": 3600,
"AvailableNum": 3
}
]
}

  

jq .Type test.json

online_confirm_order_bill

  

jq .Items[] test.json

{
"OutCommodityCode": "2035253",
"CommodityQty": 1,
"CommodityName": "品胜1A充电器",
"CommodityPrice": 3800,
"AvailableNum": 6
}
{
"OutCommodityCode": "2040664",
"CommodityQty": 1,
"CommodityName": "Z品胜双面USB苹果充电线",
"CommodityPrice": 3600,
"AvailableNum": 3
}

  

jq .Items[].OutCommodityCode test.json

"2035253"
"2040664"

  

jq .Items[1].OutCommodityCode test.json

"2040664"

  

jq -r '.Type,.Source' test.json

online_confirm_order_bill
MEITUAN

  

cat test.json | jq -r '.Type'

online_confirm_order_bill

 

cat test.json |jq -c '.Items[]|select(.OutCommodityCode | contains("2035253"))'

{"OutCommodityCode":"2035253","CommodityQty":1,"CommodityName":"品胜1A充电器","CommodityPrice":3800,"AvailableNum":6}

  

cat test.json |jq -c '.Items[]|select(.OutCommodityCode | contains("2035253"))'|jq -r '.CommodityPrice'

3800

  

https://stedolan.github.io/jq/manual/#Invokingjq

https://github.com/stedolan/jq/wiki/Cookbook

linux 之 jq的更多相关文章

  1. Linux之jq

    什么是jq?jq是Linux下面把文本字符串格式化成json格式的工具 系统环境:centos 7 一.安装 (1)yum安装 a.安装epel源 # wget http://dl.fedorapro ...

  2. linux使用jq工具解析json

    jq类似一个awk或grep一样的神器,可以方便地在命令行操作json 这里我使用海南万宁的天气接口做演示,地址:http://t.weather.sojson.com/api/weather/cit ...

  3. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  4. Linux json解析jq

    jq是一个linux下很方便的json解析器,平时看json文件都是一行混在一起的,非常不适合阅读. https://stedolan.github.io/jq/download/ 直接到官网上下载, ...

  5. linux服务创建及jq配置服务列表查看

    1.应用背景 随着业务需求,后台处理服务不断增多,对于这些服务或后台程序的查看.更新操作越来越凌乱,所以我们首先需要一个服务列表查看工具,方便查看各 服务的端口.运行状态.jar包路径等等. 2.创建 ...

  6. [Linux] jq:命令行JSON处理工具

    jq命令帮助我们很方便地在终端查看和处理json文件 jq命令的帮助信息: abby@abby:bgs$ jq -h jq - commandline JSON processor [version ...

  7. 一个JSON字符串和文件处理的命令行神器jq,windows和linux都可用

    这个命令行神器的下载地址:https://stedolan.github.io/jq/# Windows和Linux版本均只有两个可执行文件,大小不过2MB多. 以Windows版本为例,介绍其用法. ...

  8. 【转帖】Linux命令行操作json神器jq

    Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...

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

    介绍 jq is like sed for JSON data - you can use it to slice and filter and map and transform structure ...

随机推荐

  1. 用以替换系统NSLog的YouXianMingLog

    用以替换系统NSLog的YouXianMingLog 这是本人自己使用并改良的用以替换系统NSLog的类,非常好用,以下是使用示例,现在开源出来并提供源码,好用的话顶一下吧^_^ 效果: YouXia ...

  2. TreeMap:是基于红黑树的Map接口的实现

    > TreeMap:是基于红黑树的Map接口的实现. 红黑树:平衡二叉树 取出时,可以有三种方式:前序遍历,中序遍历,后序遍历 >排序: A 自然排序  --TreeMap无参构造 Tre ...

  3. zabbix的日常监控-磁盘性能监控(十二)

    监控磁盘的性能 参考文章: https://wiki.enchtex.info/howto/zabbix/zabbix_iostat_monitoring https://blog.csdn.net/ ...

  4. November 28th 2016 Week 49th Monday

    You only live once, but if you do it right, once is enough. 年华不虚度,一生也足矣. One today can win two tomor ...

  5. ZT 二叉树的非递归遍历

    ZT 二叉树的非递归遍历 二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的.对于二叉树,有前序.中序以及后序三种遍历方法.因为树的定义本身就 是递归定 ...

  6. Redis info参数总结

    可以看到,info的输出结果是分几块的,有Servers.Clients.Memory等等,通过info后面接这些参数,可以指定输出某一块数据. 下面是针对info的输出在旁边注释了,因为对Redis ...

  7. js检测密码强度

    <script> function AuthPasswd(string) {     if(string.length >=6) {         if(/[a-zA-Z]+/.t ...

  8. mybatis #{}和${}的区别是什么

    #{}和${}的区别是什么?正确的答案是:#{}是预编译处理,${}是字符串替换.(1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法 ...

  9. linux增加自己的可执行目录 $PATH

    Linux中有三种方法可以添加用户的路径到系统路径PATH, 以添加 /etc/apache/bin 为例: 方法一: 直接在命令行中输入: #PATH=$PATH:/etc/apache/bin 这 ...

  10. nuxt 脚手架创建nuxt项目中不支持es6语法的解决方案

    node本身并不支持es6语法,我们通常在vue项目中使用es6语法,是因为,我们使用babel做过处理, 为了让项目支持es6语法,我们必须同时使用babel 去启动我们的程序,所以再启动程序中加 ...