[英]How to filter an array of JSON objects with jq?
我有以下 JSON 输入:
{
"zk_kafka": [
{
"InstanceType": "t2.medium",
"zkMemory": "16",
"kafkaMemory": "8"
},
{
"InstanceType": "t2.small",
"zkMemory": "8",
"kafkaMemory": "4"
}
],
"es_hdfs": [
{
"InstanceType": "t2.medium",
"esMemory": "16",
"hdfsMemory": "8"
},
{
"InstanceType": "t2.small",
"esMemory": "8",
"hdfsMemory": "4"
}
]
}
首先,我想通过属性名称选择一个数组。 然后我想通过属性InstanceType
的值选择数组的一个对象。
属性zk_kafka
和值t2.medium
的示例:
{
"InstanceType": "t2.medium",
"zkMemory": "16",
"kafkaMemory": "8"
}
我知道如何选择数组:
jq .zk_kafka
但我不知道如何通过属性值过滤对象数组。
或者,您也可以使用map()
:
jq '.zk_kafka | map(select(.InstanceType == "t2.medium"))' input.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.