我如何使用 jq 从 json 响应中获取特定数据?

How can i use jq to get specific data from a json response?

我正在使用 API 来获取数据,示例如下:

{
   "data":[
      {
         "id":1,
         "name":"test1"
      },
      {
         "id":2,
         "name":"test2"
      }
   ]
}

我会使用 jq 只获取名称为 'test1' 的块,但有时 'test1' 在不同的 ID 下,例如:

{
   "data":[
      {
         "id":1,
         "name":"test2"
      },
      {
         "id":2,
         "name":"test1"
      }
   ]
}

我尝试使用 jq 获得的响应是​​

  {
     "id":*,
     "name":"test1"
  }

我已经用 jq 尝试了一些东西,但是我只是收到错误。 我怎样才能做到这一点?

使用select()

jq .data[] | select(.name=="test1")
{
  "id": 1,
  "name": "test1"
}

JQPlay