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

标签 json jq

这是一些示例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'

但它打印出来:

“富”
“C”

有没有办法做到这一点?

最佳答案

试试这个:

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

关于json - 根据另一个键的值有条件地打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25001349/

相关文章:

5.2 中带引号转义的 PHP Json 编码?

asp.net-mvc - 是否可以/正确地在一个页面中以两种不同的形式使用多个 @Html.AntiForgeryToken() ?

json - JQ如何从json值打印换行符而不是换行符

json - Jq:步行时测试 field

java - XML 到 JSON 产生不期望的结果

json - postgres 存储对 json 中字段的引用

java - @JsonIgnoreProperties 用于参数的动态数量

json - jq - 选择后获取更高级别的 key

json - 如何使用 JQ 在命令行中将 JSON 列表提取到 CSV 中?

json - 如何在复杂的JSON对象中只保留一组指定的字段?