【发布时间】:2020-07-13 07:52:48
【问题描述】:
我有这个下面的json格式,我想取满足条件的“id”列表
在下面我想将 matchers.value 作为 dev-stack 和 status.state 作为 active 的 id p>
{
"status": "success",
"data": [
{
"id": "b5e7f85d",
"matchers": [
{
"name": "stack",
"value": "dev-stack",
"isRegex": true
}
],
"startsAt": "2020-07-13T07:17:36Z",
"endsAt": "2020-07-15T07:15:44Z",
"updatedAt": "2020-07-13T07:15:59.643692023Z",
"createdBy": "api",
"comment": "Silence",
"status": {
"state": "active"
}
},
{
"id": "1fdaa4b5",
"matchers": [
{
"name": "stack",
"value": "qa-stack",
"isRegex": true
}
],
"startsAt": "2020-07-10T13:19:12Z",
"endsAt": "2020-07-10T13:20:55.510739499Z",
"updatedAt": "2020-07-10T13:20:55.510739499Z",
"createdBy": "api",
"comment": "Silence",
"status": {
"state": "expired"
}
}
]
}
【问题讨论】:
-
这是小菜一碟,你自己试过什么?
-
谢谢,我已经尝试并得到了预期的数据...谢谢...顺便说一句,下面是答案
jq '.data | .[] | select((.status | .state == "active") and (.matchers | .[] | .value == "dev-stack")) | .id' -
不错。考虑将其发布为答案,以便我们对其进行投票
标签: jq