您的位置:首页 > 编程语言 > Java开发

Jackson转换泛型List出现错误java.util.LinkedHashMap cannot be cast to com.xxx

2017-06-26 11:00 661 查看
原文链接:http://blog.csdn.net/wantken/article/details/42643901

使用stackoverflow上的代码描述这个问题:

[java] view
plain copy

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

  

  }  

转换不会出现错误,但是获取具体数据时会抛出异常:

[java] view
plain copy

System.out.println(list.get(0));  

System.out.println(list.get(0).getForename());  

return list;  

[java] view
plain copy

<span style="color:#FF0000;"><strong>java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xxx.xxx.web.dto.rp.ConsultantDto</strong></span>  

异常信息很少。

解决办法:

[java] view
plain copy

List<ConsultantDto> myObjects =  

    mapper.readValue(jsonInput, new TypeReference<List<ConsultantDto>>(){});
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐