gpt4 book ai didi

jq - 如何在JQ中跳过迭代

转载 作者:行者123 更新时间:2023-12-03 09:12:37 25 4
gpt4 key购买 nike

{   "items":[
{
"metadata":{"name":"127.0.0.1"},
"status":{
"capacity":{"cpu":3}
}
},
{
"metadata":{"name":"127.0.0.2"},
"status":{
"capacity":{"cpu":8}
}
} ] }

我想做以下事情:

.items[] | if .metadata.name=="127.0.0.1" then {cpu: .status.capacity.cpu} else <<I want to skip>> end

如果第一次继续为假,我想跳过

所需输出:

{"cpu":3}

最佳答案

@aerofile-kite - 你的第一直觉是对的。没有必要使用 map 并且在您的情况下,不使用它可能会更有效。按照你的思路,你可以写:

.items[]
| if .metadata.name=="127.0.0.1"
then {cpu: .status.capacity.cpu}
else empty
end

或更简洁地说:

  .items[]
| select(.metadata.name=="127.0.0.1")
| { cpu: .status.capacity.cpu }

关于jq - 如何在JQ中跳过迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40762235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com