我有一个如下所示的列表:
List newMap = (ArrayList) map.get("programs");
System.out.print(newMap); //JSON data
在打印上面的内容时,我得到了:
[{program_id=PR1, service_ids=[1, 2]}, {program_id=PR4, service_ids=[14, 15]}]
现在我的问题是,如何遍历此列表并根据键获取值?我的意思是newMap[0]["program_id"]
的内容,然后我应该PR1
。
我试过的代码:
for (Object obj : newMap){
var temp = newMap[0].get("program_id"); //Can't do this because "Array type expected, found java.util.List"
}
答案 0 :(得分:0)
你可以试试这个
newMap[0].get("program_id");
答案 1 :(得分:0)
由于newMap
是一个列表,您可以使用newMap.get(i)
访问其中的元素。
List的每个元素似乎都是Map。
因此,您可以通过这种方式获取特定密钥的值:
newMap.get(i).get("program_id")
如果要迭代列表并获取每个地图中特定键的值:
for (Map obj : newMap) {
Object value = obj.get("program_id");
}
请注意,您不应该使用原始类型。我只使用原始类型Map
,因为我不知道您在该地图中存储的数据类型。