簡體   English   中英

從 json object 數組中提取元素

[英]Extract element from json object array

我有以下 json 響應。 下面對 layer2 object 數組的響應可以有 x 個項目

{"data": {
        "layer1": {
            "layer2": [
                {
                    "item1": "result1",
                    "item2": "result2"
                },
                {
                    "item1": "result3",
                    "item2": "result4"
                }
                ]
            }
        }
}

我的要求是如果我知道一個元素的值(例如item1result4 ),我如何獲得item1的對應項目值result3

我有下面的代碼,我可以在其中檢索 object 數組。 是否可以通過以下 output 檢索以上內容。

List<Object> actual = response.jsonPath().getList("data.layer1.layer2");

我想你的意思是如果 item2 是 result4 然后找到 item1。 使用您編寫的代碼,您可以迭代列表並將 object 類型轉換為 map 並檢查 item2 是否存在且值為 result4 然后獲取 item1。

for(Object item: actual)
{
     if(((Map)item).get("item2").equals("result4")){
        return ((Map)item).get("item1");
     } 
}

PS:我沒有測試過這段代碼,但從邏輯上講它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM