我正在尝试从 json yung jq 中提取数据,但收到错误“无法使用字符串“num_objects”索引字符串

问题描述 投票:0回答:1

我的json片段如下



            {
                "bucket": "sample-bucket",
                "tenant": "",
                "num_objects": 189398,
                "num_shards": 0,
                "objects_per_shard": 189398,
                "fill_status": "OVER 100.000000%"
            }

我的预期输出是样本桶,我想使用“num_objects”选择它,所以我在下面提出了一个 jq 过滤器。

cat testjql.txt | jq  -r '.bucket | select(.num_objects == '189398')'

但出现这样的错误。

jq: error (at <stdin>:8): Cannot index string with string "num_objects"

我尝试以不同的方式玩它,但没有达到预期的输出。

json linux bash jq ceph
1个回答
0
投票

此过滤器首先选择“num_objects”属性等于 189398 的对象,然后从该对象中提取“bucket”属性的值,因此这应该为您提供“sample-bucket”的预期输出!

cat testjql.txt | jq -r 'select(.num_objects == 189398).bucket'

输出

sample-bucket
© www.soinside.com 2019 - 2024. All rights reserved.