繁体   English   中英

内部数组的 Jayway JsonPath 过滤器表达式

[英]Jayway JsonPath Filter expression for inner array

我有一个格式如下的 JSON 文件。

{  
   "queryResponse":[  
      {  
         "id":"1",
         "name":"Parent1",
         "childList":[  
            {  
               "id":"11",
               "type":"A"
            },
            {  
               "id":"12",
               "type":"B"
            }
         ]
      },
      {  
         "id":"2",
         "name":"Parent2",
         "childList":[  
            {  
               "id":"21",
               "type":"B"
            },
            {  
               "id":"22",
               "type":"C"
            }
         ]
      }
   ]
}

使用 jayway JsonPath,如何获取所有具有“B”类型子节点的父节点?

这些过滤器表达式返回一个空数组:

  • 索引中的通配符,如$.queryResponse[?(@.childList[*].type=='B')]
  • 过滤器字段中的深度扫描运算符,如$.queryResponse[?(@.childList..type=='B')]

唯一最接近我想要的过滤器表达式是带有数组索引的表达式$.queryResponse[?(@.childList[0].type=='A')]

使用containsin运算符

$.queryResponse[?(@.childList[*].type contains 'B')]

或者

$.queryResponse[?('B' in @.childList[*].type )]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM