linux 之 jq

1、安装

1
2
3
4
5
6
7
8
mac 安装:
brew install jq
 
centos 安装:
yum install jq
 
ubuntu: 安装:
apt-get install jq<br><br>

 2、使用

cat test.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
    "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
        }
    ]
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
    }
  ]
}

  

1
2
3
<strong>jq .Type test.json</strong>
 
online_confirm_order_bill

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
}

  

1
2
3
4
jq .Items[].OutCommodityCode test.json
 
"2035253"
"2040664"

  

1
2
3
jq .Items[1].OutCommodityCode test.json
 
"2040664"

  

1
2
3
4
jq -r '.Type,.Source' test.json
 
online_confirm_order_bill
MEITUAN

  

1
2
3
cat test.json | jq -r '.Type'
 
online_confirm_order_bill

 

1
2
3
cat test.json |jq -c '.Items[]|select(.OutCommodityCode | contains("2035253"))'
 
{"OutCommodityCode":"2035253","CommodityQty":1,"CommodityName":"品胜1A充电器","CommodityPrice":3800,"AvailableNum":6}

  

1
2
3
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

posted @   wangxusummer  阅读(2765)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示