返回三级联动的JSON数据
如下,我们要返回下面的数据格式
{"value": "3","label": "安徽省","children": [{"value": "安庆市","label": "36","children1s": [{"label": "398","value": "迎江区"},{"label": "399","value": "大观区"},{"label": "400","value": "宜秀区"},{"label": "401","value": "桐城市"},{"label": "402","value": "怀宁县"},{"label": "403","value": "枞阳县"},{
那么可以通过构造辅助类来完成
这里因为这里是三级,所以我就构造了三个辅助类
@Getter
@Setter
public class Data {private String value;private String label;private List<Children> children;
}
@Setter
@Getter
public class Children {private String value;private String label;private List<Children1> children1s;
}
@Getter
@Setter
public class Children1 {private String label;private String value;
}
我的mapper
//查询所有的省@Select("select * from zone where pid = 1")List<ZoneInfo> selectProvince();//查询该省所有的市@Select("select * from zone where pid =#{provinceId}")List<ZoneInfo> selectCityByProvinceId(String provinceId);//查询该市对应的县@Select("select * from zone where pid =#{cityId}")List<ZoneInfo> selectCountyByCityId(String cityId);
接下来是我的serviceimpl
@Overridepublic Result selectAll() {List<Data> dataList = null;try {dataList = new ArrayList<Data>();List<ZoneInfo> provinces = zoneInfoMapper.selectProvince();for (ZoneInfo province : provinces) {Data data = new Data();data.setValue(String.valueOf(province.getId()));data.setLabel(province.getDistrict());List<ZoneInfo> cities = zoneInfoMapper.selectCityByProvinceId(String.valueOf(province.getId()));List<Children> childrenList = new ArrayList<Children>();for (ZoneInfo city : cities) {Children children = new Children();children.setLabel(String.valueOf(city.getId()));children.setValue(city.getDistrict());childrenList.add(children);List<ZoneInfo> counties = zoneInfoMapper.selectCountyByCityId(String.valueOf(city.getId()));List<Children1> children1s = new ArrayList<Children1>();for (ZoneInfo county : counties) {Children1 children1 = new Children1();children1.setLabel(String.valueOf(county.getId()));children1.setValue(county.getDistrict());children1s.add(children1);}children.setChildren1s(children1s);}data.setChildren(childrenList);dataList.add(data);}} catch (Exception e) {Logger.logMsg(4, e.getMessage());return Result.build(500, ErrorCode.UNKNOWN_ERROR.getStatusMsg());}return Result.ok(dataList);}
这里需要注意的是
Data data = new Data();需要在for循环里面创建,因为对于不同的province都是一个data,然后每一个data最终添加到datalist里面。如果是在for循环外面实例化,就会被覆盖掉,导致datalist里面的数据只有最后一个
同样的下面的children以及children1也一样
转载于:https://www.cnblogs.com/flyingcr/p/10326947.html
返回三级联动的JSON数据相关推荐
- SpringBoot(3) 获取后台返回字符串对象及json数据
下面讲解springboot-web工程 如何跳转到一个页面 和 获取一个后台返回的字符串,对象,以及json数据... 1.创建一个maven web工程 2.导入依赖 <!-- web支 ...
- php3级分类,关于php非递归三级分类输出json数据
** 有以下数据结构表 ** ** 需要输出json格式为: ** pickerValueArray: [ {label: 'phone',value: 0,children: [ { label: ...
- java返回给前端的json数据中带有转义符号如何处理
情景描述: 有的场景我们存的是String字符串但是不能每次都固定的实体进行封装,这时候我们如果直接返回给前端对应的字符串,其中就会出现对应的 "\ 的转义符号,如何去掉呢? 解决方法 在获 ...
- 省市区三级联动 数据库取数据js代码
//页面部分代码 <div class="mui-input-row"> <label class="txt2">丢失地点</la ...
- 城市三级联动的json文件
[{"code" : "110000","name" : "北京市","children" : [{ ...
- element-ui省市区三级联动:选择即改变
element-ui 省市区三级联动:选择即改变 注意: 阅读本文,经验传授: vue.js单组件引入外部或自定义的 .js文件,并调用文件内三级联动的 json数据: 自定义设置 默认地址,结合js ...
- 怎么把json数据转化为数组_RESTful API 返回统一JSON数据格式是怎么实现的?
关于 Spring 的全局处理,我有两方面要说: 统一数据返回格式 统一异常处理 为了将两个问题说明清楚,将分两个章节分别说明,本章主要说第一点 有童鞋说,我们项目都做了这种处理,就是在每个 API ...
- 那些年遇到的后台返回的奇葩json数据
前言 开发多年,遇到的后台有很多,不同的人写的代码风格不一样,写出来的接口也不一样.下面就请求失败的接口举个例子,让大家看看有哪些奇葩的接口.反正我看的想打人了有木有? 1. 返回一片空白. 大哥,你 ...
- 第三节:微信小程序模拟动态加载服务器返回json数据
上一节虽然完成了新闻的静态展示页面,但是实际开发中,数据通常是请求服务器返回的json数据,这时候就需要页面动态加载显示服务器返回的数据. 在完成的静态页面的代码上,需要做相应的修改,首先需要编写po ...
最新文章
- bzoj 3357 [Usaco2004]等差数列 dp
- oracle 整个表空间迁移,oracle11g迁移表空间
- 架构实战:(一)Redis采用主从架构的原因
- 文本查询TextQuery类文件编写
- win10计算机修改底色,win10电脑如何修改登陆背景
- KubeCon 、 CloudNativeCon、Open Source Summit 2019三会交融,看点不断!
- linux内核定时器死机,浅析linux内核中timer定时器的生成和sofirq软中断调用流程
- android tv的冷启动,YunOS智能电视操作系统——10秒快速冷启动开机
- python中pow_如何在python中找到pow(a,b,c)的反向?
- PHPCMS V9.6.0 SQL注入漏洞EXP
- suse linux rpm 安装
- 二维数组 : 旋转矩阵
- java基础 内部类详解
- Unity 之 官网下载地址,方便各个版本的 Unity 安装包下载
- cf_Gym 101572 K.Kayaking Trip
- RQNOJ 341 星门跳跃【解题报告】
- Android Studio查看错误信息
- WeBRTC IOS视频采集流程
- 全球及中国铁矿石行业供求状况与投资决策建议报告2022版
- 快速记忆英语单词计算机,电脑英语记单词软件哪个好循环记忆_怎么能快速记忆英语单词...
热门文章
- lsb算法 java,解决:-bash: lsb_release: command not found办法
- MySQL的事务处理
- ajax请求会阻塞dom,Jquery ajax 同步阻塞引起的UI线程阻塞问题_jquery
- kmap_atomic的细节以及改进
- 实用设置_华为手机4个冷门实用的设置,都知道的绝对是资深花粉
- 接口——从事物的共同点出发
- SQL SERVER 高效存储过程分页(Max/Min方法)
- 使用IntelliJ IDEA配置Erlang开发环境
- Cocos2dx游戏源码合集
- mysql 双主 脑裂_MySQL 高可用性keepalived+mysql双主