从json对象数组中提取元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从json对象数组中提取元素相关的知识,希望对你有一定的参考价值。
我下面有json响应。在layer2对象数组的响应下方,可以有x个项目
{"data": {
"layer1": {
"layer2": [
{
"item1": "result1",
"item2": "result2"
},
{
"item1": "result3",
"item2": "result4"
}
]
}
}
}
我的要求是,如果我知道一个元素的值(例如item1
值result4),如何获取item1
的对应项值为result3。
我有以下代码可以在其中检索对象数组。是否可以在下面的输出中检索到上面。
List<Object> actual = response.jsonPath().getList("data.gridlayer1.layer2");
答案
我认为您的意思是如果item2是result4,则找到item1。使用您编写的代码,您可以迭代列表并类型转换要映射的对象,并检查item2是否存在,其值为result4,然后获取item1。
for(Object item: actual)
{
if(((Map)item).get("item2") == "result4"){
return ((Map)item).get("item1");
}
}
PS:我尚未测试此代码,但从逻辑上讲应该可以。
以上是关于从json对象数组中提取元素的主要内容,如果未能解决你的问题,请参考以下文章
从 postgres 表中提取 json 数组给出错误:无法从标量中提取元素