Welcome

首页 / 软件开发 / JAVA / Java编程中Springboot使用HaspMap存储List数据之后,取出无法遍历的解决方法

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