Условно печатное значение на основе значения другого ключа

StackOverflow https://stackoverflow.com//questions/25001349

  •  20-12-2019
  •  | 
  •  

Вопрос

Вот какой-то пример JSON:

{
  "Tags": [
    {
      "Key": "Name",
      "Value": "foo"
    },
    {
      "Key": "Type",
      "Value": "C"
    }
  ]
}
.

Я хочу распечатать значение «значение» только тогда, когда «ключ» - «тип».Так что он должен распечатать «C».Это то, что у меня так далеко.

echo $MY_TAGS | jq 'if .Tags[].Key == "Type" then .Tags[].Value else empty end'
.

Но он печатает:

"foo"

«C»

Есть ли способ сделать это?

Это было полезно?

Решение

Попробуйте:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top