首页 > 代码库 > Jackson转换泛型List出现错误java.util.LinkedHashMap cannot be cast to com.xxx
Jackson转换泛型List出现错误java.util.LinkedHashMap cannot be cast to com.xxx
使用stackoverflow上的代码描述这个问题:
ObjectMapper mapper = new ObjectMapper(); List<ConsultantDto> list = new ArrayList<ConsultantDto>(); try { list = mapper.readValue(con.getInputStream(), ArrayList.class); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
转换不会出现错误,但是获取具体数据时会抛出异常:
System.out.println(list.get(0)); System.out.println(list.get(0).getForename()); return list;
<span style="color:#FF0000;"><strong>java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xxx.xxx.web.dto.rp.ConsultantDto</strong></span>异常信息很少。
解决办法:
List<ConsultantDto> myObjects = mapper.readValue(jsonInput, new TypeReference<List<ConsultantDto>>(){});
Jackson转换泛型List出现错误java.util.LinkedHashMap cannot be cast to com.xxx
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。