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?

È stato utile?

Soluzione

Prova questo:

.Tags[] | select(.Key == "Type") | .Value
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top