火眼金睛????
前端需要这样格式的数据
this.leftobj = [ { date: 1, number: 120, reservations: 1 }, { date: 3, number: 120, reservations: 1 }, { date: 4, number: 120, reservations: 120 }, { date: 6, number: 120, reservations: 1 }, { date: 8, number: 120, reservations: 1 } ];
由于不想为此再去写一个实体类,所以用Map代替
-
Controller
List<Map> list = checkItemService.getOrderByDate(date); -
Service
List<Map> mapList = new ArrayList<>(); //Map<String,Object> map1 = new HashMap<>(); for (OrderSetting orderSetting : list){ //Map集合写在这 Map<String,Object> map1 = new HashMap<>(); //格式:{ date: 1, number: 120, reservations: 1 } map1.put("date",orderSetting.getOrderDate().getDate()); map1.put("number",orderSetting.getNumber()); map1.put("reservations",orderSetting.getReservations()); mapList.add(map1); } return mapList;
上面的写法是正确的可以得到多个不同Map构成的集合,下面这个就坑爹了
- Service
List<Map> mapList = new ArrayList<>(); //还是把Map写在这 Map<String,Object> map1 = new HashMap<>(); for (OrderSetting orderSetting : list){ map1.put("date",orderSetting.getOrderDate().getDate()); map1.put("number",orderSetting.getNumber()); map1.put("reservations",orderSetting.getReservations()); mapList.add(map1); } return mapList;
上面这种写法List集合中就只有一个Map
写在for循环里,每一次都会创建新的Map(对应的内存地址不同),而在循环外面就只有一个Map,内存地址始终没变,只是内容改变。。。
作者:凑数的园丁yyds,转载请注明原文链接