List<ShoppingCart> cartList = shoppingService.getCartList(userId);//这是从数据库获取的购物车商品列表
Map<Integer,List<ShoppingCart>> map = new HashMap<>();//新建一个map,准备用来分组
for (ShoppingCart shoppingCart : cartList) {//将结果以店铺Id进行分组List<ShoppingCart> groupList = map.get(shoppingCart.getCompanyId());if (groupList == null) {groupList = new ArrayList<ShoppingCart>();//如果没有获取到,新建组,组名是店铺IDgroupList.add(shoppingCart);map.put(shoppingCart.getCompanyId(), groupList);}else{groupList.add(shoppingCart);}
}//写到这分组就好了,map中key就是组名,值就是对应的商品列表;但前端还要求此组名key用同一个字段,所以还需要处理
//思路是这样的,再建一个Map,命名为resMap,把上面map中的商品列表数据取出来,再放到新的resMap中,并把新的key命名为"list",然后把这个resMap添加到一个resList集合中;以下是具体步骤
Set<Integer> keys = map.keySet();//把map中的key拿出来,准备依据key取值
List<Map<String,Object>> resList = new ArrayList<>();
for (Integer key : keys) {List<ShoppingCart> list = map.get(key);//使用循环,通过Key把map中的数据依次取出来Map<String,Object> resMap = new HashMap<>();//每次循环都创建新的resMapresMap.put("list", list);//取出来后重新命名添加到新的resMap中resMap.put("companyName", list.get(0).getCompanyName());//同时把店铺ID和店铺名字单独拿出来添加进去resMap.put("companyId", list.get(0).getCompanyId());resList.add(resMap);//把处理好的数据添加到reslist
}String resData = JsonUtil.toJson(resList, "1", "");//最后的resList就是最终的数据,把它向前端返回
flush(resData, response);

最终返回的数据格式是这样的:

[{"companyName":"店铺一""companyId":"555""list":商品数据,这里又是一个json数据组
}]
[{"companyName":"店铺二""companyId":"666""list":商品数据,这里又是一个json数据组
}]

java后台对查询到的商品列表按店铺分组并返回json数据相关推荐

  1. java调用远程 接口_java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  2. java学习笔记——众筹项目练习——项目中的忘记密码(密码找回)与记住我(自动登录)功能 和 返回json数据低版本浏览器显示下载问题的解决、众筹系统架构重构

                                          忘记密码(密码找回) 忘记密码(密码找回)这个功能可以说是目前所有为别人提供服务的软件系统都具备的基础功能啦!很普遍,因为总 ...

  3. java后端 返回json_Java后端返回Json数据

    Java后端返回Json数据 Jackson 导包 com.fasterxml.jackson.core jackson-databind 2.12.1 创建ObjectMapper对象,调用writ ...

  4. (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题

    (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题 SpringMVC.xml中加 <!-- 配置消息转换器(解决中文乱码问题)--><mvc:annotati ...

  5. java 控制器 返回 json_SpringMVC中controller返回json数据的方法

    java 控制器 返回 json_SpringMVC中controller返回json数据的方法 1.方法一: 使用springmvc原生注解@ResponseBody @ResponseBody @ ...

  6. 通过接口封装Shopee商品列表、shopee详情、shopee评论数据接口代码展示教程

    业务背景:作为全球最大的 B2C 电子商务平台之一,Shopee 平台提供了丰富的商品资源,吸引了大量的全球买家和卖家.为了方便开发者接入 Shopee 平台,Shopee 平台提供了丰富的 API ...

  7. java中使用ajax请求数据格式化,ajax请求服务器返回json数据格式化

    JQuery--实现Ajax应用 实现Ajax应用 1   .load()异步请求数据,通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,调用格式为load(url,[data], ...

  8. php 查询数据库返回json数据

    // 设置返回json格式数据 header('content-type:application/json;charset=utf8'); //连接数据库 $link = mysql_connect( ...

  9. java 微信报关_微信开放平台,_请求微信报关接口返回的数据,微信开放平台 - phpStudy...

    请求微信报关接口返回的数据 请求微信报关 接口错误 552E051CB6F4DBC6029B8218DBD5A52A gh_4dbf09a0a18e 1342661701 20160825113538 ...

最新文章

  1. mfc程序转化为qt_工控编程,Qt 学习之路
  2. js实现模态框点击空白关闭
  3. linux grep 正则搜索某段时间内的日志
  4. 如何在XenServer主机上安装虚拟机
  5. Java开发和嵌入式开发该如何选择
  6. java 方法 示例_Java ArrayDeque pollFirst()方法与示例
  7. php 跳转qq群代码_邪少xml论坛qqxml代码—QQ音乐可播放框架QQ群任意跳转个人网站链接引流...
  8. 逃离深圳的华为,原来可以这么美:研发小姐姐第一天上班游记
  9. Integer与int的区别
  10. 开源|Davinci用户体验:你离数据可视精美大屏只差一个Davinci!
  11. js面向对象技术小结
  12. 设置linux默认音频设备,ubuntu设置默认声音设备
  13. Android音频系统之二音频框架
  14. (七)设定目标:原理与方法
  15. PMP - 活动持续时间估算题
  16. CF869C The Intriguing Obsession 题解
  17. 第05章 图形基础
  18. 用计算机谈狂狼,抖音狂狼原唱是谁 抖音狂狼完整版歌词
  19. 谷粒商城高级篇上(未完待续)
  20. 基于stm32人脸识别和红外测温

热门文章

  1. 明解C语言 入门 课后习题练习答案 第一章
  2. TCP协议中的序列号
  3. ffmpeg将yuv数据编码为H264格式数据
  4. maven上传源码到私服
  5. django数据库同步时报错“Table 'XXX' already exists”
  6. 嵌入式系统自动寻迹小车报告
  7. Selenium的下载
  8. Excel快捷键及wps快捷键(笔记)
  9. 《基于NXP+DSP车载音频软件结构框图》
  10. android 10.0版本合入GMS包