1、前端封装JSON值,后台需要List<实体类>接收

 Map map = jsonObject.getInnerMap();
 List<实体类> list1 = (List<实体类>) map.get("xxx");

2、进行forearch循环的时候报错

xxx.forEach((item)->{})

报错信息:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xxx.xxxx.entity.xxxx

3、打断点调试查看发现里面封装的是两个Map 而不是实体类

4、解决方法

 ObjectMapper mapper = new ObjectMapper();
 List<实体类> list1 = (List<实体类>) map.get("xxx");
 List<实体类> xxx= mapper.convertValue(list1, new TypeReference<List<实体类>>() { });

记住引入包路径是下面这两个

import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;

更多推荐

解决 报错 java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to xx