Valore di stampa condizionale in base al valore di un altro tasto
Domanda
Ecco qualche esempio JSON:
{
"Tags": [
{
"Key": "Name",
"Value": "foo"
},
{
"Key": "Type",
"Value": "C"
}
]
}
.
Voglio stampare il valore del "valore" solo quando "tasto" è "tipo".Quindi dovrebbe stampare "C".Questo è quello che ho finora.
echo $MY_TAGS | jq 'if .Tags[].Key == "Type" then .Tags[].Value else empty end'
.
Ma stampa:
"foo"
"C"
C'è un modo per farlo?
Soluzione
Prova questo:
.Tags[] | select(.Key == "Type") | .Value
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow