文档章节

获取世界各国、全国省份、城市、县

木九天
 木九天
发布于 04/02 17:42
字数 423
阅读 69
收藏 0

https://wuliu.taobao.com/user/output_address.do?range=country

https://wuliu.taobao.com/user/output_address.do?range=province

https://wuliu.taobao.com/user/output_address.do?range=city

https://wuliu.taobao.com/user/output_address.do?range=county

将上面获取的json拷贝到txt文件里面,下面是mac系统的,如果是windows系统,那么修改

String url = "/Users/tentsuuhou/Desktop/"+name+".txt";

这个路径转换程你拷贝json到txt文件的路径就可以了

package com.dtb.member.controller.api;

import com.dtb.member.mapper.AreaDaoMapper;
import com.dtb.member.service.ApiLogService;
import com.dtb.member.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;

/**
 * @Author:ChengJian
 * @Description:
 * @Date: Created in 下午3:21 2019/4/2
 */
@Controller
@RequestMapping(value = "/upload")
public class AreaController {

    @Autowired
    AreaDaoMapper areaDaoMapper;


    @RequestMapping(value = "/area.html")
    @ResponseBody
    public String upload(String name) throws IOException {

        String url = "/Users/tentsuuhou/Desktop/"+name+".txt";
        File file = new File(url);
        FileReader reader = new FileReader(file);
        int fileLength = (int)file.length();
        char[] chars = new char[fileLength];
        reader.read(chars);
        String area [] = String.valueOf(chars).split("]");
        List<Map<String,Object>> list = new ArrayList<>();
        Object object[] = null;
        String everyRecords [] = null;
        String str = "";
        int areaLength = area.length;
        int m = 0;
        for(int j = 0; j < areaLength;j++){
            str = (String)area[j];
            str = str.substring(2,str.length());
            everyRecords = str.split("'");
            if(everyRecords.length == 8){
                Map<String,Object> map = new HashMap<>();
                if(everyRecords[1].length() == 6){
                    map.put("num1",everyRecords[1]);
                    map.put("num2",everyRecords[3]);
                    map.put("num3",everyRecords[5].equals("1")?"0086":everyRecords[5]);
                    map.put("num4",everyRecords[7]);
                    map.put("num5",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    map.put("num6",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    list.add(map);
                }else if(everyRecords[1].length() < 6){
                    //去除其他国家的记录
                    m++;
                }
                //添加中国区域代码
                if(m == 1){
                    map.put("num1","0086");
                    map.put("num2","中国");
                    map.put("num3","0");
                    map.put("num4","zhongguo");
                    map.put("num5",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    map.put("num6",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    list.add(map);
                }
            }
        }
        if(list != null){
            areaDaoMapper.insertArea(list);
        }else{
            System.out.println("List is null");
        }
        return "NICE";
    }
}
public interface AreaDaoMapper {
    int insertArea(List<Map<String,Object>> list);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dtb.member.mapper.AreaDaoMapper">

  <insert id="insertArea" parameterType="java.util.Map">
    INSERT INTO t_shop_county
      (administrative_code, area_name, parent_administrative_code, pin_yin_name, add_time, update_time)
    VALUES
    <foreach collection="list" index="index" item="item" separator=",">
      (#{item.num1},#{item.num2},#{item.num3},#{item.num4},#{item.num5},#{item.num6})
    </foreach>
  </insert>

</mapper>

© 著作权归作者所有

木九天

木九天

粉丝 176
博文 224
码字总数 169575
作品 0
海淀
程序员
私信 提问
Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

在很多项目里面,字典管理是必备的项目模块,而这个又是比较通用的功能,因此可以单独做成一个通用字典管理,例如这个模块,可以通过集成的方式,使用在我的《Winform开发框架》、《WCF开发框...

walb呀
2017/12/04
0
0
js城市三级联动效果

重点就是全国城市的json数据,逻辑就是简单的循环查找和返回对应索引。 加入变换事件的回调处理接口。 效果截图和下载地址:js城市三级联动效果下载地址 部分代码,运行前需要加入json格式城...

透笔度
2016/05/27
292
0
中国贫困地图(1)

前段时间写了一篇名叫我看精准扶贫的文章,觉得应该为中国的扶贫事业做点什么。另外也想做一点东西, 一是把自己最近学的东西整合一下, 做做项目正好提炼提炼, 二是给人展示的时候有个说头...

成思
2017/12/15
0
0
Jsoup获取全国地区数据(省市县镇村)

`package com.soft.di.jsoup;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.HashMap;import java.util.Map; ......

chrisd
2016/06/02
197
0
地址服务接口/国家/省份/城市/区县

1--查询全国所有城市列表 提交方式: GET url地址:/mapi/location/queryAllCityListByCountryId.do 参数: countryId=1 返回值: { "code": "0", "data": [ { "cityName": "上海市", "id": 1 ......

郑克学
2017/01/07
2
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
5
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
9
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
7
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
10
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部