Java编程中Springboot使用HaspMap存储List<T>数据之后,取出无法遍历的解决方法
如下,取到查询的结果存入HashMap中的data键
Page<Admin> pageing = Page<Admin>(page,pagesize);
.selectMapsPage(pageing,queryWrapper);
HashMap<String,Object> map = HashMap<String, Object>();
map.put(,pageing.getRecords()); //pageing.getRecords()的值是List<T>类型,
map.put(,pageing.getTotal());
取结果时不能直接使用
Map<String,Object> result=adminService.getList(params);
List<T> list=(List<T>)result.get("data")
的形式,因为此时获取的List无法正常遍历,正确的做法是先将结果转为JsonString之后在转换回List<T>
取结果时正确的使用方式如下:
Map<String,Object> result=adminService.getList(params);
int total=Integer.parseInt(result.get("total").toString());
//HaspMap取到的值,需要先转为JSONString再转回List对应的结果,否则无法正常遍历得到的结果集合。
String jsonString = JSONArray.toJSONString((Object) result.get("data"));
List list= JSONArray.parseArray(jsonString,Admin.class);