JMESPath - 无法在另一个列表中查询列表中的值

JMESPath - Unable to query a value in a list within another list

给出以下 JSON:

[
  {
    "json": {
       "buildInfo": [
         {
           "first": "James",
           "last": "d"
         },
         {
           "first": "James2",
           "last": "d2"
         }
       ]
     },
     "status": 200
   },
   {
    "json": {
       "buildInfo": [
         {
           "first": "Jacob",
           "last": "e"
         },
         {
           "first": "Jacob2",
           "last": "e2"
         }
       ]
    },
    "status": 200
  }
]

我正在尝试查询内部列表键 json.buildInfo."last" 的值,然后提取一些键值,即 json.buildInfo.*."first" .然而,我正在努力让它发挥作用。

我可以使用展平运算符找到数据...

[*].json.build[].last[contains(@,`d`)]

...但我不知道如何对此执行查询,然后允许我获取额外信息列表 "first" 键。在 buildInfo 上没有内部列表的 json 上,我可以做类似

的事情
[?json.buildInfo.last==`d`].json.buildInfo.first

事实证明,切换到 buildInfo 项目列表具有挑战性。

有人可以给我指导吗?

谢谢

好的,这可行 - 但不确定我知道为什么...

[?json.buildInfo[?contains(last,'d2')]].json.build_info[]|[?last=='d'].first