有条件地根据另一个键的值打印值

时间:2014-07-28 18:00:05

标签: json jq

以下是JSON的一些示例:

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

我想打印" Value"的价值只有当" Key"是"类型"。所以它应该打印出来" C"。这就是我到目前为止所拥有的。

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

但它打印出来:

"富"
" C"

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:10)

试试这个:

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