簡體   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