如何根据其他值过滤选择w / jq的对象?

时间:2017-05-31 19:38:45

标签: json linux shell sh jq

我试图获取其中一个字段值,具体取决于其他字段的值。

{  
   "dirty": "false",
   "instances": {  
      "random-generated-id-1": {  
         "state": "ON",
         "id": "random-generated-id-1"
      },
      "random-generated-id-2": {
         "state": "OFF",
         "id": "random-generated-id-2"
      }
   }
}

我希望得到id状态的实例的ON

jq ".instances"给了我两个实例。我如何只获得random-generated-id-1

1 个答案:

答案 0 :(得分:4)

jq -r '.instances[] | select(.state=="ON") | .id'