博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高德地图API 城市编码对照表insert到数据库
阅读量:7091 次
发布时间:2019-06-28

本文共 3358 字,大约阅读时间需要 11 分钟。

  hot3.png

Java代码: dept.json就是高德接口返回的完整json,我保存到了本地处理的。

public class LocationTest {    public static void main(String[] args) throws IOException {        initDb();        //高德的接口描述页面        //http://lbs.amap.com/api/webservice/guide/api/district/#district        //接口地址        //http://restapi.amap.com/v3/config/district?key=
<你申请的webapi的key>
&keywords=中国&subdistrict=3&showbiz=false&extensions=base File file = new File("C:\\Users\\tj\\Desktop\\dept.json"); String s = FileUtils.readFileToString(file, "utf-8"); JSONObject o = JSON.parseObject(s).getJSONArray("districts").getJSONObject(0); save(o, 0, ",0,",1); } static int id = 10000; public static int nextId(){ id++; return id; } public static void save(JSONObject o,int pid,String ppath,int depth){ String adcode = o.getString("adcode"); String name = o.getString("name"); String level = o.getString("level"); String center = o.getString("center"); String lat = center.split(",")[1]; String lont = center.split(",")[0]; Area area = new Area(); area.set("adcode",adcode); String citycode = o.getString("citycode"); if(!citycode.equals("[]")){ area.set("citycode",citycode); } int id = nextId(); area.set("id", id); area.set("name",name); area.set("level",level); area.set("lat",lat); area.set("lont",lont); area.set("adcode",adcode); area.set("spell", PinyinHelper.convertToPinyinString(name,"",PinyinFormat.WITHOUT_TONE)); area.set("short_spell", PinyinHelper.getShortPinyin(name)); area.set("pid",pid); String mypath = ppath+id+","; area.set("path",mypath); area.set("depth", depth); boolean b = true; try { b = area.save(); } catch (Exception e) { e.printStackTrace(); } if(!b) { System.out.println("保存失败:" + name+" adcode:"+id); } JSONArray array = o.getJSONArray("districts"); for (int i = 0; i < array.size(); i++) { JSONObject so = array.getJSONObject(i); save(so, id, mypath,depth+1); } } /** * 初始化数据库 */ public static void initDb(){ String jdbcUrl = "jdbc:mysql://localhost:3306/wd_qx?characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull"; DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, "root", "password","com.mysql.jdbc.Driver"); druidPlugin.addFilter(new WallFilter()); druidPlugin.addFilter(new StatFilter()); druidPlugin.start(); ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin); arp.addMapping("ts_area_tj", "id", Area.class); arp.setDialect(new MysqlDialect()); arp.start(); }}

表结构:

CREATE TABLE `ts_area` (  `id` varchar(15) NOT NULL,  `name` varchar(60) DEFAULT NULL,  `adcode` varchar(20) DEFAULT NULL,  `citycode` varchar(20) DEFAULT NULL,  `pid` varchar(20) DEFAULT NULL,  `level` varchar(20) DEFAULT NULL,  `lat` double DEFAULT NULL,  `lont` double DEFAULT NULL,  `spell` varchar(100) DEFAULT NULL,  `short_spell` varchar(200) DEFAULT NULL,  `path` varchar(1000) DEFAULT NULL,  `depth` int(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

依赖的jar:

    

上传不了附件,sql没办法传上来了。

 

转载于:https://my.oschina.net/forai/blog/800103

你可能感兴趣的文章
SQLServer中对Xml字段的操作
查看>>
利用JavaScript来实现用动态检验密码强度
查看>>
Oracle 数据库高级查询--DISTINCT、IN 、BETWEEN、LIKE
查看>>
手势的状态判断,
查看>>
单例(LintCode)
查看>>
女孩子,不漂亮也没关系
查看>>
Srpingboot controller service模板实现
查看>>
Helllo World
查看>>
ZJOI2007报表统计·BZOJ1058
查看>>
页面加载时序问题----BUG分析
查看>>
[算法题] 汉诺塔问题
查看>>
几何,求两整数点确定的线段上的整数点的个数
查看>>
【算法导论】学习笔记——第10章 基本数据结构
查看>>
BNUOJ52317 As Easy As Possible(树上倍增)
查看>>
STL源码阅读(一)
查看>>
c-28
查看>>
华为交换机重置密码案例
查看>>
17素材下载地址
查看>>
Jquery EasyUI1.3.1 JS加载出错
查看>>
LA 4794 Sharing Chocolate (搜索)
查看>>