簡體   English   中英

異常 java.util.LinkedHashMap 不能轉換為 java.util.List

[英]Exception java.util.LinkedHashMap cannot be cast to java.util.List

在處理以下代碼時,我得到了下面給出的異常。

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<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());
}

試試這個:您是否嘗試將 MapObject 存儲在 List.so 中,而不是將 Map 存儲在 List 中。

代替:

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>>>(){});

對於演示示例此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM