JSONPath 从 table 中的地图获取值

JSONPath get value from map within a table

我有一个 JSON 字符串如下(简化):

{
   "data":{
      "fruit":[
         {
            "role":[
               {
                  "role":"passive"
               }
            ],
            "objectType":"apple"
         },
         {
            "role":[
               {
                  "role":"active"
               }
            ],
            "objectType":"orange"
         }
      ]
   }
}

我想获得 objectType 角色为 active 的值。在此示例中,结果将是 orange。我想出了以下代码,但它没有 return 任何东西。我该如何解决这个问题?

$.data.fruit[?(@.role.role == 'active')]

请注意,水果数组中的元素数量可能会有所不同,并且不能保证最后一个元素是正确的。

如果它是一个数字,则字符串化中的渐进级别将分别缩进这么多 space 个字符(最多 10 个)。

如果是字符串,递进级别将缩进该字符串(或其前十个字符)。

应OP的要求,这是最终的最终答案!

$.data.fruit[?('active' in @..role..role)].objectType