兩個list合併為列表物件
阿新 • • 發佈:2019-01-11
為了將兩個list資料對應起來方便前端進行處理。
需求:第一個圖片對應於第一個視訊作為視訊的封面。
兩個陣列:List< String > imgList, List< String > videoList
視訊多於圖片時不返回視訊
由於前期資料結構設計未考慮到新增視訊功能,圖片和視訊無法對應起來。之前返回的兩個list陣列,前端需要自己處理將第一個圖片和第一個視訊對應起來,因此進行優化如下:
List<Map<String, Object>> resMap = Lists.newArrayList(); for (int i = 0; i < imgList.size(); i++) { Map<String, Object> map = new HashMap<>(); map.put("positionImg", imgList.get(i)); if (null !=videoList && i < videoList.size()) { map.put("positionVideo", videoList.get(i)); } resMap.add(map); } return resMap;
返回JSON資料:
"positionSlide": [ { "positionImg": "http://images.chengxinzhaopin.net/dgztc/6b0f6dd8fa6299d8b73945be96d36792.jpeg", "positionVideo": "http://dgztc.oss-cn-hangzhou.aliyuncs.com/video/ec3d36b2150c5c705514345c02bbd361.mp4" }, { "positionImg": "http://images.chengxinzhaopin.net/dgztc/b3c82a9e1ce336d858746da75ee97bd3.jpeg", "positionVideo": "http://dgztc.oss-cn-hangzhou.aliyuncs.com/video/43922be9e71016ce330a7d4535cf1bb7.mp4" }, { "positionImg": "https://img.hntv9hr.com/dgztc/6104630eeb3df726683ac945ff67b2a6.jpeg" } ],
這樣的返回資料結構就很方便前端進行處理了。