在解决以下代码时,我得到了下面给出的例外情况。
List<Map<String, Object>> obj = mapper.readValue(result.getBody(), new TypeReference<Map<String,Object>>(){});
for (Map<String, Object> map : obj) {
for(Map.Entry<String, Object> entry : map.entrySet()){
System.out.println("Key : "+entry.getKey()+" Value is: "+entry.getValue());
}
}
Stacktrace :java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.util.List
答案 0 :(得分:1)
试一试:您是否尝试将MapObject存储在List.so中,而不是在List中存储Map。
而不是:
List<Map<String, Object>> obj = mapper.readValue(result.getBody(),
new TypeReference<Map<String,Object>>(){});
使用此:
List<Map<String, Object>> obj = mapper.readValue(result.getBody(),
new TypeReference<List<Map<String,Object>>>(){});
演示示例This Link
答案 1 :(得分:1)
您只需使用地图而不是地图列表。
Map<String, Object>> object = mapper.readValue(result.getBody(), new TypeReference<Map<String,Object>>(){});
for(Map.Entry<String, Object> entry : object.entrySet()){
System.out.println("Key : "+entry.getKey()+" Value is:"+entry.getValue());
}