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>>(){});
时间: 2024-08-23 20:23:50

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

java.util.LinkedHashMap cannot be cast to xxJavaBean

// 前提/map.get("listKey")为List集合List<JavaBean> list = (List<JavaBean>) map.get("listKey"); if (CollectionUtils.isNotEmpty(list)) { list.forEach(xx -> { }); } 以上代码运行至forEach时会报错:java.util.LinkedHashMap cannot be cast to Ja

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map

1.错误描述 java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map at service.impl.BillServiceImpl.exportBillExcel(BillServiceImpl.java:336) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMet

使用redis时出现java.util.ArrayList cannot be cast to java.lang.Long

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Long at redis.clients.jedis.Connection.getIntegerReply(Connection.java:222) at redis.clients.jedis.Jedis.exists(Jedis.java:127) at redis.clients.jedis.ShardedJedis.exists(S

我的Android进阶之旅------&amp;gt;Android编译错误java.util.zip.ZipException: duplicate entry的解决方法

今天在Android Studio中把另外一个项目引入当前项目,编译的时候出现了java.util.zip.ZipException: duplicate entry错误. 错误例如以下所看到的: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':watch:packageAllDebugClassesForMultiDex'. > java.util.zip.ZipEx

web项目错误—Java.util.ConcurrentMidificationException

源代码: Iterator<String> iterator = list.iterator(); synchronized(synObject) { while(iterator.hasNext()) { String str = iterator.next(); if(del.contains(str)) { iterator.remove(); } } } 报错原因: 不能在对一个List集合进行遍历的时候将其中的元素删除掉 解决方法: 1.可以先将要删除的元素用另一个list集合装起来

PageHelper分页异常(java.base/java.util.ArrayList cannot be cast to com.github.pagehelper.Page)

在SqlMapConfig.xml里面配置分页插件 applicationContext-service.xml里面的配置,我出现问题谁因为,在salSessionFactory里没注入全局配置文件 原文地址:https://www.cnblogs.com/liufuqing5635/p/10768133.html

Iterator迭代器使用造成java.util.NoSuchElementException异常

使用Iterator迭代器出现错误java.util.NoSuchElementException 错误写法: Iterator<Map<String, Object>> it = list.iterator(); while(it.hasNext()){ if(it.next().get("listSrc") != null && "C".equals(it.next().get("listSrc").t

java.util.ConcurrentModificationException的解决办法

今天在使用iterator.hasNext()操作迭代器的时候,当迭代的对象发生改变,比如插入了新数据,或者有数据被删除. 编译器报出了以下异常: Exception in thread "main" java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719) at java.util.LinkedHash

软件包 java.util 的分层结构

概述  软件包  类  使用   树  已过时  索引  帮助  JavaTM Platform Standard Ed. 6  上一个   下一个 框架    无框架    所有类         &amp;amp;lt;a href="../../allclasses-noframe.html"&amp;amp;gt;&amp;amp;lt;b&amp;amp;gt;所有类&amp;amp;lt;/b&amp;amp;gt;&