繁体   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