Condicionalmente impressão de valor com base no valor da outra chave
Pergunta
Eis alguns exemplo de JSON:
{
"Tags": [
{
"Key": "Name",
"Value": "foo"
},
{
"Key": "Type",
"Value": "C"
}
]
}
Eu quero imprimir o valor de "Valor" só quando a "Chave" é "Tipo".Portanto, ele deve imprimir "C".Isso é o que eu tenho até agora.
echo $MY_TAGS | jq 'if .Tags[].Key == "Type" then .Tags[].Value else empty end'
Mas ele imprime:
"foo"
"C"
Existe uma maneira de fazer isso?
Solução
Tente isso:
.Tags[] | select(.Key == "Type") | .Value
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow