已知省市县三个list(json或者实体对象),求综合后的json数据
2017-06-15 17:46
309 查看
1.需求
已经知道省市县三个list(json或者对象尸体),将三个list的内容整合到一个json数据中;2.解决方法:
分别建立三个实体对象,对应省市县,方便映射解析;利用fastjson来处理和转换json数据
3.代码示例
City类public class City { private int cityId; private String name; private int ProID; private int CitySort; public int getCityId() { return cityId; } public void setCityId(int cityId) { this.cityId = cityId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getProID() { return ProID; } public void setProID(int proID) { ProID = proID; } public int getCitySort() { return CitySort; } public void setCitySort(int citySort) { CitySort = citySort; } }
Province类
public class Province { private int proID; private String name; private int ProSort; private String ProRemark; public int getProID() { return proID; } public void setProID(int proID) { this.proID = proID; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getProSort() { return ProSort; } public void setProSort(int proSort) { ProSort = proSort; } public String getProRemark() { return ProRemark; } public void setProRemark(String proRemark) { ProRemark = proRemark; } }
Dict类
public class Dist { private int id; private String disName; private int cityID; private int disSort; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getDisName() { return disName; } public void setDisName(String disName) { this.disName = disName; } public int getCityID() { return cityID; } public void setCityID(int cityID) { this.cityID = cityID; } public int getDisSort() { return disSort; } public void setDisSort(int disSort) { this.disSort = disSort; } }
TestJson
public class TestJson { static List<Province> proList = new ArrayList<>(); static List<City> cityList = new ArrayList<>(); static List<Dist> distList = new ArrayList<>(); public static void main(String[] args) { Province province = new Province(); province.setName("北京"); province.setProID(1); province.setProRemark("直辖市"); province.setProSort(1); Province province2 = new Province(); province2.setName("天津"); province2.setProID(2); province2.setProRemark("直辖市"); province2.setProSort(2); proList.add(province); proList.add(province2); // 创建城市 City city = new City(); city.setCityId(1); city.setCitySort(1); city.setName("北京A市"); city.setProID(1); City city2 = new City(); city2.setCityId(2); city2.setCitySort(2); city2.setName("北京B市"); city2.setProID(1); City city3 = new City(); city3.setCityId(3); city3.setCitySort(1); city3.setName("天津A市"); city3.setProID(2); City city4 = new City(); city4.setCityId(4); city4.setCitySort(2); city4.setName("天津B市"); city4.setProID(2); cityList.add(city); cityList.add(city2); cityList.add(city3); cityList.add(city4); // 添加县城 Dist dist de8d = new Dist(); dist.setCityID(1); dist.setDisName("北京A市县城1"); dist.setId(1); dist.setDisSort(1); Dist dist2 = new Dist(); dist2.setCityID(1); dist2.setDisName("北京A市县城2"); dist2.setId(2); dist2.setDisSort(2); Dist dist3 = new Dist(); dist3.setCityID(2); dist3.setDisName("北京B市县城1"); dist3.setId(3); dist3.setDisSort(3); Dist dist4 = new Dist(); dist4.setCityID(2); dist4.setDisName("北京B市县城2"); dist4.setId(4); dist4.setDisSort(4); Dist dist5 = new Dist(); dist5.setCityID(3); dist5.setDisName("天津A市县城1"); dist5.setId(5); dist5.setDisSort(5); Dist dist6 = new Dist(); dist6.setCityID(4); dist6.setDisName("天津B市县城1"); dist6.setId(6); dist6.setDisSort(6); Dist dist7 = new Dist(); dist7.setCityID(4); dist7.setDisName("天津B市县城2"); dist7.setId(7); dist7.setDisSort(7); Dist dist8 = new Dist(); dist8.setCityID(4); dist8.setDisName("天津B市县城3"); dist8.setId(8); dist8.setDisSort(8); distList.add(dist); distList.add(dist2); distList.add(dist3); distList.add(dist4); distList.add(dist5); distList.add(dist6); distList.add(dist7); distList.add(dist8); // list转换为jsonString String jsonString = JSON.toJSONString(proList); System.out.println(jsonString); // 假设原先只有 province的json数据 List<Province> proList2 = JSON.parseArray(jsonString, Province.class); // 后面综合用 List<Object> objects = new ArrayList<>(); // 给每个省份添加城市 for (int i = 0; i < proList2.size(); i++) { Province province3 = proList2.get(i); int proID = province3.getProID(); // 根据省份id查询包含的城市 List<City> cityList2 = findCityListByProId(proID); // 带县区的城市集合 List<Object> Cityobjects = new ArrayList<>(); // 遍历城市,添加县城 for (int j = 0; j < cityList2.size(); j++) { City cityObj = cityList2.get(j); int cityId = cityObj.getCityId(); // 根据cityId查询得到distList List<Dist> distList2 = findDistListByCityId(cityId); Map<String, Object> map2 = new HashMap<>(); map2.put("proID", cityObj.getProID()); map2.put("name", cityObj.getName()); map2.put("citySort", cityObj.getCitySort()); map2.put("cityID", cityObj.getCityId()); map2.put("dist", distList2); // String jsonString4 = JSON.toJSONString(map2); // System.out.println(jsonString4); // 带县区的城市集合 Cityobjects.add(map2); } String jsonString5 = JSON.toJSONString(Cityobjects); System.out.println("Cityobjects:" + jsonString5); // Object json = JSON.toJSON(Cityobjects); // String jsonString2 = JSON.toJSONString(Cityobjects); // System.out.println(jsonString2); Map<String, Object> map = new HashMap<>(); map.put("proID", province3.getProID()); map.put("name", province3.getName()); map.put("ProSort", province3.getProSort()); map.put("ProRemark", province3.getProRemark()); // map.put("city", json);//可以放json map.put("city", Cityobjects);// 也可以直接放Cityobjects String jsonString3 = JSON.toJSONString(map); System.out.println(jsonString3); // 带城市的省份综合到一个集合 objects.add(map); } String jsonString3 = JSON.toJSONString(objects); System.out.println("##最终json##" + jsonString3); } // 根据城市id查县城列表 private static List<Dist> findDistListByCityId(int cityId) { List<Dist> distList2 = new ArrayList<>(); for (int i = 0; i < distList.size(); i++) { if (distList.get(i).getCityID() == cityId) { distList2.add(distList.get(i)); } } return distList2; } // 根据身份id查城市列表 private static List<City> findCityListByProId(int proID) { List<City> cityList2 = new ArrayList<>(); for (int i = 0; i < cityList.size(); i++) { if (cityList.get(i).getProID() == proID) { cityList2.add(cityList.get(i)); } } return cityList2; } }
相关文章推荐
- 转载:java方式的将java对象以及list或者map转化为json数据 .
- java方式的将java对象以及list或者map转化为json数据 .
- java方式的将java对象以及list或者map转化为json数据
- java方式的将java对象以及list或者map转化为json数据
- java方式的将java对象以及list或者map转化为json数据,json转换为object或者map
- js解析json读取List中的实体对象示例
- Struts2中采用Json返回List对象数据为空解决方案
- 关于ASP.NET下,JQuery+AJAX使用JSON返回对象集合List数据的总结
- java对象、List转为json格式的数据
- [struts2] Struts2中采用Json返回List对象数据为空解决方案
- java中将数组、对象、Map、List转换成JSON数据
- Struts2中采用Json返回List对象数据为空解决方案
- js解析json读取List中的实体对象示例
- Struts2中采用Json返回List对象数据为空解决方案
- 解决 ”不允许在查询中显式构造实体类型“问题及使用其他方法实现返回 List<Model对象>或者IQueryable<Model对象>对象
- java中将数组、对象、Map、List转换成JSON数据
- 【第15篇】通过FastJson把字符串转换成JSON和Map和List对象处理json数据
- js 解析json 读取List中的实体对象
- Json数据转换list对象
- java对象、List转为json格式的数据