使用jq从数组中提取数据

Data extraction from array using jq

请帮我算出那个...

我想获取名称所在的 ID - terraform-02

jq '.[] | map(select(.name == "terraform-02"))' - 无效,开始过滤过程

那是我的数组:

{"ssh_keys": [ { "id": ..., "public_key": "...", "name": "terraform-02", "fingerprint": "." }, { "id": ..., "public_key": "...", "name": "terraform-02", "fingerprint": "..." }, ],"meta": {"total": 2}}

鉴于此输入:

{
  "ssh_keys": [
    {
      "id": "id1",
      "public_key": "pk1",
      "name": "terraform-02",
      "fingerprint": "..."
    },
    {
      "id": "id2",
      "public_key": "pk2",
      "name": "terraform-02",
      "fingerprint": "..."
    }
  ],
  "meta": {
    "total": 2
  }
}

你可以 select .id 像这样:

jq '.[][] | select(.name? == "terraform-02").id'

输出为:

"id1"
"id2"