次のコードを回避しているときに、以下の例外が発生しました。
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
これを試してください:MapオブジェクトをListではなくList.soに保存しようとしていますか?.
の代わりに:
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>>>(){});
デモ例 このリンク
List of Mapの代わりにMapのみを使用する必要があります。
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());
}