Question

Here's some example JSON:

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

I want to print the value of "Value" only when "Key" is "Type". So it should print out "C". This is what I have so far.

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

But it prints out:

"foo"
"C"

Is there a way to do this?

Was it helpful?

Solution

Try this:

.Tags[] | select(.Key == "Type") | .Value
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top