jq 命令行 JSON 解析器-【命令大全】

19 篇文章 0 订阅
9 篇文章 0 订阅
#jq-命令行JSON处理器[1.6版]
jq - commandline JSON processor [version 1.6]

Usage:  jq [options] <jq filter> [file...]
        jq [options] --args <jq filter> [strings...]
        jq [options] --jsonargs <jq filter> [JSON_TEXTS...]

#jq是用于处理JSON输入的工具,将给定的过滤器应用于
#其JSON文本输入,并以JSON形式生成过滤器的结果
#标准输出。
#最简单的过滤器是。,它将jq的输入复制到其输出
#未经修改(除格式外,但请注意使用的是IEEE754
#内部的数字表示,以及所有暗示的内容)。

例子:

        $ echo '{"foo": 0}' | jq .
        {
                "foo": 0
        }

一些选项包括:
  -c	紧凑而不是漂亮的输出;
  -n	使用“ null”作为单个输入值;
  -e	根据输出设置退出状态代码;
  -s	将所有输入读取(吸取)到数组中;对它应用过滤器;
  -r	输出原始字符串,而不是JSON文本;
  -R	读取原始字符串,而不是JSON文本;
  -C	为JSON着色;
  -M	单色(不要为JSON着色);
  -S	对输出对象的排序键;
  --tab	使用制表符进行缩进;
  --arg v	将变量$ a设置为值<v>;
  --argjson v	将变量$ a设置为JSON值<v>;
  --slurpfile	将f变量$ a设置为从<f>读取的JSON文本数组;
  --rawfile	将f变量$ a设置为包含<f>内容的字符串;
  --args	其余参数是字符串参数,而不是文件;
  --jsonargs	其余参数是JSON参数,而不是文件;
  --        终止参数处理;

有关更多选项,请参见手册页。
#例子
docker inspect kube-auditing-operator-77d8646669-mlssg | jq -r '.[0].LogPath'

jq是一款命令行下处理JSON数据的工具,可以通过一系列的过滤器和表达式来转换JSON数据并输出需要的结果。安装jq可以使用不同的方法,例如在macOS上使用brew install jq,Linux上使用wget命令下载jq,并设置可执行权限后移动到/usr/bin目录,CentOS上使用yum install jq,Ubuntu上使用apt命令安装jq。 在使用jq解析JSON字符串时,可以使用不同的表达式来获取想要的数据。例如,要获取根级别的key,可以使用jq -r keys[]命令,要获取下层成员的key,可以先使用jq .c命令获取"c"字段的内容,然后再使用jq -r keys[]命令来获取下层成员的key。 参考引用: :自己用shell处理json字符串的时候,开发输入格式的不通会导致解析字符串有问题,所以这里用到了jq工具 jq 是一款命令行下处理 JSON 数据的工具。其可以接受标准输入,命令管道或者文件中的 JSON 数据,经过一系列的过滤器(filters)和表达式的转后形成我们需要的数据结构并将结果输出到标准输出中。jq 的这种特性使我们可以很容易地在 Shell 脚本中调用它。 :获取串行json的key $ cat test.json { "a": "aa", "b": "bb", "c": { "dd": "ddd", "ee": "eee" } } //获取根级别的keys: $ jq -r keys[] test.json a b c 获取下层成员的keys: $ jq .c test.json | jq -r keys[] dd ee :因为最近要处理一些 JSON 数据格式,所以在经过一番搜索后 最终找到了 jq 这个很棒的工具。jq 允许你直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等等。 让我们通过几个例子来说明 jq 的功能: 一、输出...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[shenhonglei]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值