Javascript Object Notation, 一种轻量级数据交互格式,完成js与Java等后端开发语言对象数据之间的转换需要JSON格式。
转换需要应用JSON-lib小工具(参考此链接),下载所需的六个包,然后在项目中导入jar包才能使用(之前写过一篇如何导包)
LocationServlet
public class LocationServlet extends HttpServlet {
private static Map> cityMap;
private static Map> provinceMap;
static {
cityMap = new HashMap<>();
List areas = new ArrayList<>();
//西安
areas = new ArrayList<>();
areas.add("雁塔区");
areas.add("莲湖区");
areas.add("新城区");
cityMap.put("西安市",areas);
//宝鸡
areas = new ArrayList<>();
areas.add("陈仓区");
areas.add("渭滨区");
areas.add("渭南区");
cityMap.put("宝鸡市",areas);
//渭南
areas = new ArrayList<>();
areas.add("临渭区");
areas.add("高新区");
cityMap.put("渭南市",areas);
//郑州
areas = new ArrayList<>();
areas.add("郑州A区");
areas.add("郑州B区");
cityMap.put("郑州市",areas);
//洛阳
areas = new ArrayList<>();
areas.add("洛阳A区");
areas.add("洛阳B区");
cityMap.put("洛阳市",areas);
//开封
areas = new ArrayList<>();
areas.add("开封A区");
areas.add("开封B区");
cityMap.put("开封市",areas);
//济南
areas = new ArrayList<>();
areas.add("历下区");
areas.add("市中区");
areas.add("长清区");
cityMap.put("济南市",areas);
provinceMap = new HashMap<>();
List cities = new ArrayList<>();
//陕西
cities = new ArrayList<>();
cities.add("西安市");
cities.add("宝鸡市");
cities.add("渭南市");
provinceMap.put("陕西省",cities);
//河南
cities = new ArrayList<>();
cities.add("郑州市");
cities.add("洛阳市");
cities.add("开封市");
provinceMap.put("河南省",cities);
//山东
cities = new ArrayList<>();
cities.add("济南市");
cities.add("滨州市");
cities.add("青岛市");
provinceMap.put("山东省",cities);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
req.setCharacterEncoding("utf-8");
String type = req.getParameter("type");
String id = req.getParameter("id");
//流程分发,
switch (type) {
case "city":
List areas = cityMap.get(id);
JSONArray jsonArray = JSONArray.fromObject(areas);
resp.getWriter().write(jsonArray.toString());
break;
case "province":
List cities = provinceMap.get(id);
//对应的城市名字
String city = cities.get(0);
List cityAreas = cityMap.get(city);
Location location = new Location();
location.setCities(cities);
location.setAreas(cityAreas);
JSONObject jsonObject = JSONObject.fromObject(location);
resp.getWriter().write(jsonObject.toString());
break;
}
}
}
location.jsp
Title
省:
市:
区:
Location.java
package com.southwind.entity;
import java.util.List;
public class Location {
private List cities;
private List areas;
public List getCities() {
return cities;
}
public void setCities(List cities) {
this.cities = cities;
}
public List getAreas() {
return areas;
}
public void setAreas(List areas) {
this.areas = areas;
}
}



