如何返回与测试json元素关联的ID?

时间:2018-06-20 07:51:54

标签: json jq

我从curl返回以下json。我简化了ID,但是我的目标是返回与测试对象相关的ID。期望的返回值为55555

我正在使用jq解析字符串。 https://stedolan.github.io/jq

[
  {
    "attributes": null,
    "id": "44444",
    "name": "production",
    "type": "system_group"
  },
  {
    "attributes": null,
    "id": "55555",
    "name": "test",
    "type": "system_group"
  },
  {
    "attributes": null,
    "id": "66666",
    "name": "uat",
    "type": "system_group"
  }
]

1 个答案:

答案 0 :(得分:1)

它应该是非常简单的过滤器,使用selectcontain构造。

jq '.[] | select( .name| contains("test")) | .id'

使用-r调用过滤器以删除引号并打印原始值。

jqplay-URL