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='行政区域县区信息表';

浙公网安备 33010602011771号