我有以下 json 文件:
{
"entry1":"",
"entry2":"",
"entry3":"value3",
"entry4":"value4",
"entry5":"",
"entry6":" ",
"entry7":"",
"entry8":"false"
}
我知道entry3的键值对,但不知道下一个(entry4和value) 我该怎么办?
目前,我被困在以下命令上:
jq -r 'to_entries[] | select(.value == "value3") | .key, .value'
您可以再次使用
to_entries
(作用于数组),在这种情况下,您将在 .key
字段中获得数字作为索引。使用 select
进行过滤,然后递增结果 .key
,并通过直接索引来获取该项目 .[n]
:
to_entries | .[
to_entries[] | select(.value.value == "value3").key + 1
] | .key, .value
entry4
value4