jq如何根据条件获取返回值

时间:2019-04-01 16:10:35

标签: linux jq

因此,我试图根据从"CPU" ... "Tags"的值中获取的条件来找出"Value"的值

因此,如果标签内的值为"CPU",我想打印NO值 此示例的返回值为:"Identifier-0002"

以下是数据:

{
  "LIST": [
    {
      "CPU": "Identifier-0002",
      "Tags": [
        {
          "Key": "Family",
          "Value": "X"
        },
        {
          "Key": "Available",
          "Value": "NO"
        }
      ]
    },
    {
      "CPU": "Identifier-0001",
      "Tags": [
        {
          "Key": "Family",
          "Value": "X"
        },
        {
          "Key": "Available",
          "Value": "YES"
        }
      ]
    }
  ]
}

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作。这基本上是在LIST内部进行检查,以查看是否有任何对象的值是NO并获取其CPU的值。

jq '.LIST[] | select(.Tags[].Value == "NO")? | .CPU'