Java取json文件省市区

文件示例截图

 解析json文件

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public void test() {
	String jsonStr = "";
	try {
		File file = new File("C:\\Users\\Administrator\\Desktop\\city.json");
		FileReader fileReader = new FileReader(file);
		Reader reader = new InputStreamReader(new FileInputStream(file), "Utf-8");
		int ch = 0;
		StringBuffer sb = new StringBuffer();
		while ((ch = reader.read()) != -1) {
			sb.append((char) ch);
		}
		fileReader.close();
		reader.close();
		jsonStr = sb.toString();
		JSONArray json = JSONArray.fromObject(jsonStr);
		int a = 0, b = 0, c = 0;
		for (int i = 0; i < json.size(); i++) {
			JSONObject obj = json.getJSONObject(i);
			String text = (String) obj.get("text");
			String value = (String) obj.get("value");
			// 省
			a++;
			Address address = new Address();
			address.setId(a);
			address.setText(text);
			address.setValue(value);
			mapper.insertProvinces(address);
			JSONArray children = obj.getJSONArray("children");
			for (int i1 = 0; i1 < children.size(); i1++) {
				JSONObject object = children.getJSONObject(i1);
				String text1 = (String) object.get("text");
				String value1 = (String) object.get("value");
				// 市
				b++;
				Address address1 = new Address();
				address1.setId(b);
				address1.setText(text1);
				address1.setValue(value1);
				address1.setParent(value);
				mapper.insertCity(address1);
				JSONArray array = object.getJSONArray("children");
				for (int i2 = 0; i2 < array.size(); i2++) {
					JSONObject jsonObject = array.getJSONObject(i2);
					String text2 = (String) jsonObject.get("text");
					String value2 = (String) jsonObject.get("value");
					// 区
					c++;
					Address address2 = new Address();
					address2.setId(c);
					address2.setText(text2);
					address2.setValue(value2);
					address2.setParent(value1);
					mapper.insertAreas(address2);
				}
			}
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}

实体类对象

public class Address {

    private int id;

    private String value;

    private String parent;

    private String text;
}

数据库省、市、区表结构

CREATE TABLE `sys_provinces` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `provinceid` varchar(20) NOT NULL,
  `province` varchar(50) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 COMMENT='省份信息表';
CREATE TABLE `sys_cities` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cityid` varchar(20) NOT NULL,
  `city` varchar(50) NOT NULL,
  `provinceid` varchar(20) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=346 DEFAULT CHARSET=utf8 COMMENT='行政区域地州市信息表';
CREATE TABLE `sys_areas` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `areaid` varchar(20) NOT NULL,
  `area` varchar(50) NOT NULL,
  `cityid` varchar(20) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=3145 DEFAULT CHARSET=utf8 COMMENT='行政区域县区信息表';

  

posted @ 2021-12-31 13:41  念个勿忘  阅读(364)  评论(0)    收藏  举报