当我知道前一个键值对时,如何使用 jq 检索 json 文件中的下一个键值对

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

我有以下 json 文件:

{
   "entry1":"",
   "entry2":"",
   "entry3":"value3",
   "entry4":"value4",
   "entry5":"",
   "entry6":" ",
   "entry7":"",
   "entry8":"false"
}

我知道entry3的键值对,但不知道下一个(entry4和value) 我该怎么办?

目前,我被困在以下命令上:

jq -r 'to_entries[] | select(.value == "value3") | .key, .value'
json jq
1个回答
0
投票

您可以再次使用

to_entries
(作用于数组),在这种情况下,您将在
.key
字段中获得数字作为索引。使用
select
进行过滤,然后递增结果
.key
,并通过直接索引来获取该项目
.[n]
:

to_entries | .[
  to_entries[] | select(.value.value == "value3").key + 1
] | .key, .value
entry4
value4

演示

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