我是一个新手与jq和挣扎弯曲它我的意志。
我想在JSON对象中搜索任何具有给定名称的键,并提取第一次出现的值,以便将其分配给bash变量供以后使用。例如:
{
"fruit":{
"name":"apple","color":"green","sub":{
"name":"crab-apple","color":"red","size":"small"
}
}
}
如果我用途:
jq -r 'map(.name)|.[0]?'
我得到了我正在寻找的输出,特别是“苹果”。OTOH
jq -r 'map(.size)|.[0]?'
导致
[
null
]
不是标量值,也不是我想找到的。
请不要告诉我应该根据其他属性或JSON对象的结构进行搜索(除非你要解释如何进行深度优先搜索和广度优先搜索)。
1条答案
按热度按时间ipakzgxi1#
你要找的是这样的东西:
Online demo