获取身份证开头前4位对应的地区

网上的区域划分数据是老旧的数据,需要去统计局获取最新的数据,结合新旧数据,生成json

老数据Map

package com.nsk666.area;  
  
import java.util.HashMap;  
import java.util.Map;  
  
/**  
 * @author niushuaikui * @description TODO  
 * @date 2024/10/12  
 */
 public class AreaMap {  
    public static  Map<String, String> IDENTITY_CITY = new HashMap<>() {{  
        put("1101", "北京市");  
        put("1102", "北京市市辖县");  
        put("1201", "天津市");  
        put("1202", "天津市市辖县");  
        put("1301", "河北省石家庄市");  
        put("1302", "河北省唐山市");  
        put("1303", "河北省秦皇岛市");  
        put("1304", "河北省邯郸市");  
        put("1305", "河北省邢台市");  
        put("1306", "河北省保定市");  
        put("1307", "河北省张家口市");  
        put("1308", "河北省承德市");  
        put("1309", "河北省沧洲市");  
        put("1310", "河北省廊坊市");  
        put("1324", "河北省保定地区");  
        put("1330", "河北省衡水地区");  
        put("1401", "山西省太原市");  
        put("1402", "山西省大同市");  
        put("1403", "山西省阳泉市");  
        put("1404", "山西省长治市");  
        put("1405", "山西省晋城市");  
        put("1406", "山西省朔州市");  
        put("1422", "山西省忻洲地区");  
        put("1423", "山西省吕梁地区");  
        put("1424", "山西省晋中地区");  
        put("1426", "山西省临汾地区");  
        put("1427", "山西省运城地区");  
        put("1501", "内蒙古自治区呼和浩特市");  
        put("1502", "内蒙古自治区包头市");  
        put("1503", "内蒙古自治区乌海市");  
        put("1504", "内蒙古自治区赤峰市");  
        put("1521", "内蒙古自治区呼伦贝尔盟");  
        put("1522", "内蒙古自治区兴安盟");  
        put("1523", "内蒙古自治区哲里木盟");  
        put("1525", "内蒙古自治区锡林郭勒盟");  
        put("1526", "内蒙古自治区乌兰察布盟");  
        put("1527", "内蒙古自治区伊克昭盟");  
        put("1528", "内蒙古自治区巴彦淖尔盟");  
        put("1529", "内蒙古自治区阿拉善盟");  
        put("2101", "辽宁省沈阳市");  
        put("2102", "辽宁省大连市");  
        put("2103", "辽宁省鞍山市");  
        put("2104", "辽宁省抚顺市");  
        put("2105", "辽宁省本溪市");  
        put("2106", "辽宁省丹东市");  
        put("2107", "辽宁省锦州市");  
        put("2108", "辽宁省营口市");  
        put("2109", "辽宁省阜新市");  
        put("2110", "辽宁省辽阳市");  
        put("2111", "辽宁省盘锦市");  
        put("2112", "辽宁省铁岭市");  
        put("2113", "辽宁省朝阳市");  
        put("2114", "辽宁省锦西市");  
        put("2201", "吉林省长春市");  
        put("2202", "吉林省吉林市");  
        put("2203", "吉林省四平市");  
        put("2204", "吉林省辽源市");  
        put("2205", "吉林省通化市");  
        put("2206", "吉林省浑江市");  
        put("2207", "吉林省松原市");  
        put("2208", "吉林省白城市");  
        put("2224", "吉林省延边朝鲜族自治州");  
        put("2301", "黑龙江哈尔滨市");  
        put("2302", "黑龙江齐齐哈尔市");  
        put("2303", "黑龙江鸡西市");  
        put("2304", "黑龙江鹤岗市");  
        put("2305", "黑龙江双鸭山市");  
        put("2306", "黑龙江大庆市");  
        put("2307", "黑龙江伊春市");  
        put("2308", "黑龙江佳木斯市");  
        put("2309", "黑龙江七台河市");  
        put("2310", "黑龙江牡丹江市");  
        put("2311", "黑龙江黑河市");  
        put("2321", "黑龙江松花江地区");  
        put("2323", "黑龙江绥化地区");  
        put("2327", "黑龙江大兴安岭地区");  
        put("3101", "上海市");  
        put("3102", "上海市市辖县");  
        put("3201", "江苏省南京市");  
        put("3202", "江苏省无锡市");  
        put("3203", "江苏省徐州市");  
        put("3204", "江苏省常州市");  
        put("3205", "江苏省苏州市");  
        put("3206", "江苏省南通市");  
        put("3207", "江苏省连云港市");  
        put("3208", "江苏省淮阴市");  
        put("3209", "江苏省盐城市");  
        put("3210", "江苏省扬州市");  
        put("3211", "江苏省镇江市");  
        put("3301", "浙江省杭州市");  
        put("3302", "浙江省宁波市");  
        put("3303", "浙江省温州市");  
        put("3304", "浙江省嘉兴市");  
        put("3305", "浙江省湖洲市");  
        put("3306", "浙江省绍兴市");  
        put("3307", "浙江省金华市");  
        put("3308", "浙江省衢州市");  
        put("3309", "浙江省舟山市");  
        put("3325", "浙江省丽水地区");  
        put("3326", "浙江省台州地区");  
        put("3401", "安徽省合肥市");  
        put("3402", "安徽省芜湖市");  
        put("3403", "安徽省蚌埠市");  
        put("3404", "安徽省淮南市");  
        put("3405", "安徽省马鞍山市");  
        put("3406", "安徽省淮北市");  
        put("3407", "安徽省铜陵市");  
        put("3408", "安徽省安庆市");  
        put("3410", "安徽省黄山市");  
        put("3411", "安徽省滁州市");  
        put("3421", "安徽省阜阳地区");  
        put("3422", "安徽省宿县地区");  
        put("3424", "安徽省六安地区");  
        put("3425", "安徽省宣城地区");  
        put("3426", "安徽省巢湖地区");  
        put("3429", "安徽省池州地区");  
        put("3501", "福建省福州市");  
        put("3502", "福建省厦门市");  
        put("3503", "福建省莆田市");  
        put("3504", "福建省三明市");  
        put("3505", "福建省泉州市");  
        put("3506", "福建省漳州市");  
        put("3521", "福建省南平地区");  
        put("3522", "福建省宁德地区");  
        put("3526", "福建省龙岩地区");  
        put("3601", "江西省南昌市");  
        put("3602", "江西省景德镇市");  
        put("3603", "江西省萍乡市");  
        put("3604", "江西省九江市");  
        put("3605", "江西省新余市");  
        put("3606", "江西省鹰潭市");  
        put("3621", "江西省赣州地区");  
        put("3622", "江西省宜春地区");  
        put("3623", "江西省上饶地区");  
        put("3624", "江西省吉安地区");  
        put("3625", "江西省抚州地区");  
        put("3701", "山东省济南市");  
        put("3702", "山东省青岛市");  
        put("3703", "山东省淄博市");  
        put("3704", "山东省枣庄市");  
        put("3705", "山东省东营市");  
        put("3706", "山东省烟台市");  
        put("3707", "山东省潍坊市");  
        put("3708", "山东省济宁市");  
        put("3709", "山东省泰安市");  
        put("3710", "山东省威海市");  
        put("3711", "山东省日照市");  
        put("3712", "山东省莱芜市");  
        put("3723", "山东省滨州地区");  
        put("3724", "山东省德州地区");  
        put("3725", "山东省聊城地区");  
        put("3728", "山东省临沂地区");  
        put("3729", "山东省菏泽地区");  
        put("4101", "河南省郑州市");  
        put("4102", "河南省开封市");  
        put("4103", "河南省洛阳市");  
        put("4104", "河南省平顶山市");  
        put("4105", "河南省安阳市");  
        put("4106", "河南省鹤壁市");  
        put("4107", "河南省新乡市");  
        put("4108", "河南省焦作市");  
        put("4109", "河南省濮阳市");  
        put("4110", "河南省许昌市");  
        put("4111", "河南省漯河市");  
        put("4112", "河南省三门峡市");  
        put("4123", "河南省商丘地区");  
        put("4127", "河南省周口地区");  
        put("4128", "河南省驻马店地区");  
        put("4129", "河南省南阳地区");  
        put("4130", "河南省信阳地区");  
        put("4201", "湖北省武汉市");  
        put("4202", "湖北省黄石市");  
        put("4203", "湖北省十堰市");  
        put("4204", "湖北省沙市市");  
        put("4205", "湖北省宜昌市");  
        put("4206", "湖北省襄樊市");  
        put("4207", "湖北省鄂州市");  
        put("4208", "湖北省荆门市");  
        put("4209", "湖北省孝感市");  
        put("4221", "湖北省黄冈地区");  
        put("4223", "湖北省咸宁地区");  
        put("4224", "湖北省荆州地区");  
        put("4226", "湖北省郧阳地区");  
        put("4228", "湖北省恩施土家族苗族自治州");  
        put("4229", "湖北省省直辖行政单位");  
        put("4301", "湖南省长沙市");  
        put("4302", "湖南省株洲市");  
        put("4303", "湖南省湘潭市");  
        put("4304", "湖南省衡阳市");  
        put("4305", "湖南省邵阳市");  
        put("4306", "湖南省岳阳市");  
        put("4307", "湖南省常德市");  
        put("4308", "湖南省大庸市");  
        put("4323", "湖南省益阳地区");  
        put("4325", "湖南省娄底地区");  
        put("4328", "湖南省郴州地区");  
        put("4329", "湖南省零陵地区");  
        put("4330", "湖南省怀化地区");  
        put("4331", "湖南省湘西土家族苗族自治州");  
        put("4401", "广东省广州市");  
        put("4402", "广东省韶关市");  
        put("4403", "广东省深圳市");  
        put("4404", "广东省珠海市");  
        put("4405", "广东省汕头市");  
        put("4406", "广东省佛山市");  
        put("4407", "广东省江门市");  
        put("4408", "广东省湛江市");  
        put("4409", "广东省茂名市");  
        put("4412", "广东省肇庆市");  
        put("4413", "广东省惠州市");  
        put("4414", "广东省梅州市");  
        put("4415", "广东省汕尾市");  
        put("4416", "广东省河源市");  
        put("4417", "广东省阳江市");  
        put("4418", "广东省清远市");  
        put("4419", "广东省东莞市");  
        put("4420", "广东省中山市");  
        put("4451", "广东省潮州市");  
        put("4452", "广东省揭阳市");  
        put("4501", "广西壮族自治区南宁市");  
        put("4502", "广西壮族自治区柳州市");  
        put("4503", "广西壮族自治区桂林市");  
        put("4504", "广西壮族自治区梧州市");  
        put("4505", "广西壮族自治区北海市 ");  
        put("4506", "广西壮族自治区防城港市");  
        put("4521", "广西壮族自治区南宁地区");  
        put("4522", "广西壮族自治区柳州地区");  
        put("4523", "广西壮族自治区桂林地区");  
        put("4524", "广西壮族自治区梧州地区");  
        put("4525", "广西壮族自治区玉林地区");  
        put("4526", "广西壮族自治区百色地区");  
        put("4527", "广西壮族自治区河池地区");  
        put("4528", "广西壮族自治区钦州地区");  
        put("4600", "海南省三亚各市县");  
        put("4601", "海南省海口市");  
        put("4602", "海南省三亚市");  
        put("5101", "四川省成都市");  
        put("5102", "四川省重庆市");  
        put("5103", "四川省自贡市");  
        put("5104", "四川省攀枝花市");  
        put("5105", "四川省泸州市");  
        put("5106", "四川省德阳市");  
        put("5107", "四川省绵阳市");  
        put("5108", "四川省广元市");  
        put("5109", "四川省遂宁市");  
        put("5110", "四川省内江市");  
        put("5111", "四川省乐山市");  
        put("5112", "四川省万县市");  
        put("5113", "四川省南充市");  
        put("5123", "四川省涪陵地区");  
        put("5125", "四川省宜宾地区");  
        put("5130", "四川省达川地区");  
        put("5131", "四川省雅安地区");  
        put("5132", "四川省阿坝藏族羌族自治州");  
        put("5133", "四川省甘孜藏族自治州");  
        put("5134", "四川省凉山彝族自治州");  
        put("5135", "四川省黔江地区");  
        put("5136", "四川省广安地区");  
        put("5137", "四川省巴中地区");  
        put("5201", "贵州省贵阳市");  
        put("5202", "贵州省六盘水市");  
        put("5221", "贵州省遵义地区");  
        put("5222", "贵州省铜仁地区");  
        put("5223", "贵州省黔西南布依族苗族自治州");  
        put("5224", "贵州省毕节地区");  
        put("5225", "贵州省安顺地区");  
        put("5226", "贵州省黔东南苗族侗族自治州");  
        put("5227", "贵州省黔南布依族苗族自治州");  
        put("5301", "云南省昆明市");  
        put("5302", "云南省东川市");  
        put("5321", "云南省昭通地区");  
        put("5322", "云南省曲靖地区");  
        put("5323", "云南省楚雄彝族自治州");  
        put("5324", "云南省玉溪地区");  
        put("5325", "云南省红河哈尼族彝族自治州");  
        put("5326", "云南省文山壮族苗族自治州");  
        put("5327", "云南省思茅地区");  
        put("5328", "云南省西双版纳傣族自治州");  
        put("5329", "云南省大理白族自治州");  
        put("5330", "云南省保山地区");  
        put("5331", "云南省德宏傣族景颇族自治州");  
        put("5332", "云南省丽江地区");  
        put("5333", "云南省怒江傈僳族自治州");  
        put("5334", "云南省迪庆藏族自治州");  
        put("5335", "云南省临沧地区");  
        put("5401", "西藏自治区拉萨市");  
        put("5421", "西藏自治区昌都地区");  
        put("5422", "西藏自治区山南地区");  
        put("5423", "西藏自治区日喀则地区");  
        put("5424", "西藏自治区那曲地区");  
        put("5425", "西藏自治区阿里地区");  
        put("5426", "西藏自治区林芝地区");  
        put("6101", "陕西省西安市");  
        put("6102", "陕西省铜川市");  
        put("6103", "陕西省宝鸡市");  
        put("6104", "陕西省咸阳市");  
        put("6121", "陕西省渭南地区");  
        put("6123", "陕西省汉中地区");  
        put("6124", "陕西省安康地区");  
        put("6125", "陕西省商洛地区");  
        put("6126", "陕西省延安地区");  
        put("6127", "陕西省榆林地区");  
        put("6201", "甘肃省兰州市");  
        put("6202", "甘肃省嘉峪关市");  
        put("6203", "甘肃省金昌市");  
        put("6204", "甘肃省白银市");  
        put("6205", "甘肃省天水市");  
        put("6221", "甘肃省酒泉地区");  
        put("6222", "甘肃省张掖地区");  
        put("6223", "甘肃省武威地区");  
        put("6224", "甘肃省定西地区");  
        put("6226", "甘肃省陇南地区");  
        put("6227", "甘肃省平凉地区");  
        put("6228", "甘肃省庆阳地区");  
        put("6229", "甘肃省临夏回族自治州");  
        put("6230", "甘肃省甘南藏族自治州");  
        put("6301", "青海省西宁市");  
        put("6321", "青海省海东地区");  
        put("6322", "青海省海北藏族自治州");  
        put("6323", "青海省黄南藏族自治州");  
        put("6325", "青海省海南藏族自治州");  
        put("6326", "青海省果洛藏族自治州");  
        put("6327", "青海省玉树藏族自治州");  
        put("6328", "青海省海西蒙古族藏族自治州");  
        put("6401", "宁夏回族自治区银川市");  
        put("6402", "宁夏回族自治区石嘴山市");  
        put("6421", "宁夏回族自治区银南地区");  
        put("6422", "宁夏回族自治区固原地区");  
        put("6501", "新疆维吾尔自治区乌鲁木齐市");  
        put("6502", "新疆维吾尔自治区克拉玛依市");  
        put("6521", "新疆维吾尔自治区吐鲁番地区");  
        put("6522", "新疆维吾尔自治区哈密地区");  
        put("6523", "新疆维吾尔自治区昌吉回族自治州");  
        put("6527", "新疆维吾尔自治区博尔塔拉蒙古自治州");  
        put("6528", "新疆维吾尔自治区巴音郭楞蒙古自治州");  
        put("6529", "新疆维吾尔自治区阿克苏地区");  
        put("6530", "新疆维吾尔自治区克孜勒苏柯尔克孜自治州");  
        put("6531", "新疆维吾尔自治区喀什地区");  
        put("6532", "新疆维吾尔自治区和田地区");  
        put("6540", "新疆维吾尔自治区伊犁哈萨克自治州");  
        put("6541", "新疆维吾尔自治区伊犁地区");  
        put("6542", "新疆维吾尔自治区塔城地区");  
        put("6543", "新疆维吾尔自治区阿勒泰地区");  
        put("6590", "新疆维吾尔自治区省直辖行政单位");  
        put("7100", "台湾");  
        put("7200", "香港特别行政区");  
        put("7300", "澳门特别行政区");  
    }};  
}

获取新数据

使用okhttp获取统计局最新的数据

相关依赖

  <dependency>  
    <groupId>com.squareup.okhttp3</groupId>  
    <artifactId>okhttp</artifactId>  
    <version>4.12.0</version>  
</dependency>
<dependency>  
    <!-- jsoup HTML parser library @ http://jsoup.org/ -->  
    <groupId>org.jsoup</groupId>  
    <artifactId>jsoup</artifactId>  
    <version>1.18.1</version>  
</dependency>

获取代码

package com.nsk666.area;  
  
import com.alibaba.fastjson.JSONObject;  
import okhttp3.*;  
import org.jsoup.Jsoup;  
import org.jsoup.nodes.Attribute;  
import org.jsoup.nodes.Document;  
import org.jsoup.nodes.Element;  
import org.jsoup.nodes.Node;  
import org.jsoup.select.Elements;  
  
import javax.net.ssl.X509TrustManager;  
import java.io.IOException;  
import java.util.*;  
import java.util.stream.Collectors;  
  
/**  
 * @author niushuaikui * @description TODO  
 * @date 2024/10/12  
 */public class TestGetArea {  
    public static void main(String[] args) throws IOException {  
        String home = getHome();  
        Document parse = Jsoup.parse(home);  
        Elements provinceLine = parse.getElementsByClass("provincetr");  
        for (Element line : provinceLine) {  
            Elements provinces = line.getElementsByTag("a");  
            // 获取所有省份  
            for (Element province : provinces) {  
                // 获取省份名称  
                String provinceName = "";  
                List<Node> nodes = province.childNodes();  
                for (Node node : nodes) {  
                    if (node.toString().contains("<")){  
                        continue;  
                    }else{  
                        provinceName = node.toString();  
                    }  
                }  
                Attribute a = province.attribute("href");  
                String value = a.getValue();  
                String city = getCity(value);  
                Document cityDoc = Jsoup.parse(city);  
                Elements cityLine = cityDoc.getElementsByClass("citytr");  
                for (Element cityElement : cityLine) {  
                    Elements citys = cityElement.getElementsByTag("a");  
                    String cityNo = "";  
                    String cityName = "";  
                    for (int i = 0; i < 2; i++) {  
                        Element element = citys.get(i);  
                        // 区号  
                        if (i == 0){  
                            List<Node> cityNodes = element.childNodes();  
                            for (Node cityNode : cityNodes) {  
                                cityNo = cityNode.toString();  
                            }  
                            cityNo = cityNo.substring(0,4);  
                        }else{  
                            // 名称  
                            List<Node> cityNodes = element.childNodes();  
                            for (Node cityNode : cityNodes) {  
                                cityName = cityNode.toString();  
                            }  
                        }  
                    }  
                    if (AreaMap.IDENTITY_CITY.get(cityNo) != null) {  
//                        System.out.println(AreaMap.IDENTITY_CITY.get(cityNo)+"重复");  
                    }else{  
                        AreaMap.IDENTITY_CITY.put(cityNo,provinceName+cityName);  
//                        System.out.println(provinceName+cityNo+cityName);  
                    }  
                }  
            }  
        }  
        Set<String> set = AreaMap.IDENTITY_CITY.keySet();  
        Set<String> collect = set.stream().sorted(String::compareTo).collect(Collectors.toCollection(LinkedHashSet::new));  
        Map<String,String> map = new LinkedHashMap<>();  
        for (String s : collect) {  
            map.put(s,AreaMap.IDENTITY_CITY.get(s));  
        }  
        System.out.println(JSONObject.toJSONString(map));  
    }  
    public static String getHome() throws IOException {  
        String url = "https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/index.html#:~:text=2023%E5%B9%B4%E5%BA%A6%E5%85%A8%E5%9B%BD%E7%BB%9F%E8%AE%A1%E7%94%A8%E5%8C%BA%E5%88%92%E4%BB%A3%E7%A0%81%E5%92%8C%E5%9F%8E%E4%B9%A1%E5%88%92%E5%88%86%E4%BB%A3%E7%A0%81%E5%B7%B2%E5%AE%8C%E6%88%90%E6%9B%B4%E6%96%B0%E7%BB%B4%E6%8A%A4%E5%B7%A5%E4%BD%9C%EF%BC%8C%E7%8E%B0%E4%BA%88%E5%85%AC%E5%B8%83%E3%80%82,%E8%AF%A5%E4%BB%A3%E7%A0%81%E4%BE%9D%E6%8D%AE%E5%9B%BD%E5%8A%A1%E9%99%A2%E6%89%B9%E5%A4%8D%E5%90%8C%E6%84%8F%E7%9A%84%E3%80%8A%E5%85%B3%E4%BA%8E%E7%BB%9F%E8%AE%A1%E4%B8%8A%E5%88%92%E5%88%86%E5%9F%8E%E4%B9%A1%E7%9A%84%E8%A7%84%E5%AE%9A%E3%80%8B%EF%BC%88%E5%9B%BD%E5%87%BD%E3%80%942008%E3%80%9560%E5%8F%B7%EF%BC%89%E5%8F%8A%E5%9B%BD%E5%AE%B6%E7%BB%9F%E8%AE%A1%E5%B1%80%E5%8D%B0%E5%8F%91%E7%9A%84%E3%80%8A%E7%BB%9F%E8%AE%A1%E7%94%A8%E5%8C%BA%E5%88%92%E4%BB%A3%E7%A0%81%E5%92%8C%E5%9F%8E%E4%B9%A1%E5%88%92%E5%88%86%E4%BB%A3%E7%A0%81%E7%BC%96%E5%88%B6%E8%A7%84%E5%88%99%E3%80%8B%EF%BC%88%E5%9B%BD%E7%BB%9F%E5%AD%97%E3%80%942009%E3%80%9591%E5%8F%B7%EF%BC%89%E7%BC%96%E5%88%B6%E3%80%82%20%E6%AD%A4%E6%AC%A1%E5%8F%91%E5%B8%83%E5%86%85%E5%AE%B9%E4%B8%BA2023%E5%B9%B4%E5%85%A8%E5%9B%BD%E7%BB%9F%E8%AE%A1%E7%94%A8%E5%8C%BA%E5%88%92%E4%BB%A3%E7%A0%81%EF%BC%8812%E4%BD%8D%EF%BC%89%E5%92%8C%E5%9F%8E%E4%B9%A1%E5%88%86%E7%B1%BB%E4%BB%A3%E7%A0%81%EF%BC%883%E4%BD%8D%EF%BC%89%EF%BC%8C%E5%9C%B0%E5%9F%9F%E8%8C%83%E5%9B%B4%E4%B8%BA%E5%9B%BD%E5%AE%B6%E7%BB%9F%E8%AE%A1%E5%B1%80%E5%BC%80%E5%B1%95%E7%BB%9F%E8%AE%A1%E8%B0%83%E6%9F%A5%E7%9A%84%E5%85%A8%E5%9B%BD31%E4%B8%AA%E7%9C%81%EF%BC%88%E8%87%AA%E6%B2%BB%E5%8C%BA%E3%80%81%E7%9B%B4%E8%BE%96%E5%B8%82%EF%BC%89%EF%BC%8C%E6%9C%AA%E5%8C%85%E6%8B%AC%E6%88%91%E5%9B%BD%E5%8F%B0%E6%B9%BE%E7%9C%81%E3%80%81%E9%A6%99%E6%B8%AF%E7%89%B9%E5%88%AB%E8%A1%8C%E6%94%BF%E5%8C%BA%E5%92%8C%E6%BE%B3%E9%97%A8%E7%89%B9%E5%88%AB%E8%A1%8C%E6%94%BF%E5%8C%BA%E3%80%82";  
        // 支持https请求,绕过验证  
        X509TrustManager manager = SSLSocketClientUtil.getX509TrustManager();  
        OkHttpClient client = new OkHttpClient.Builder()  
                .sslSocketFactory(SSLSocketClientUtil.getSocketFactory(manager),manager)  
                .hostnameVerifier(SSLSocketClientUtil.getHostnameVerifier())  
                .build();  
        Request build = new Request.Builder()  
                .get().url(url).build();  
        Call call = client.newCall(build);  
        Response execute = call.execute();  
        return execute.body().string();  
    }  
  
    public static String getCity(String page) throws IOException {        // 支持https请求,绕过验证  
        X509TrustManager manager = SSLSocketClientUtil.getX509TrustManager();  
        OkHttpClient client = new OkHttpClient.Builder()  
                .sslSocketFactory(SSLSocketClientUtil.getSocketFactory(manager),manager)  
                .hostnameVerifier(SSLSocketClientUtil.getHostnameVerifier())  
                .build();  
        Request build = new Request.Builder()  
                .get()  
                .url("https://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/"+page)  
                .build();  
        Call call = client.newCall(build);  
        Response execute = call.execute();  
        return execute.body().string();  
    }  
}

Okhttp 绕过HTTPS工具

package com.nsk666.area;  
  
import javax.net.ssl.*;  
import java.security.SecureRandom;  
import java.security.cert.X509Certificate;  
import java.security.KeyManagementException;  
import java.security.NoSuchAlgorithmException;  
import java.security.cert.CertificateException;  
  
public class SSLSocketClientUtil {  
    public static SSLSocketFactory getSocketFactory(TrustManager manager) {  
        SSLSocketFactory socketFactory = null;  
        try {  
            SSLContext sslContext = SSLContext.getInstance("SSL");  
            sslContext.init(null, new TrustManager[]{manager}, new SecureRandom());  
            socketFactory = sslContext.getSocketFactory();  
        } catch (NoSuchAlgorithmException e) {  
            e.printStackTrace();  
        } catch (KeyManagementException e) {  
            e.printStackTrace();  
        }  
        return socketFactory;  
    }  
  
    public static X509TrustManager getX509TrustManager() {  
        return new X509TrustManager() {  
            @Override  
            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {  
  
            }  
  
            @Override  
            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {  
  
            }  
  
            @Override  
            public X509Certificate[] getAcceptedIssuers() {  
                return new X509Certificate[0];  
            }  
        };  
    }  
  
    public static HostnameVerifier getHostnameVerifier() {  
        HostnameVerifier hostnameVerifier = new HostnameVerifier() {  
            @Override  
            public boolean verify(String s, SSLSession sslSession) {  
                return true;  
            }  
        };  
        return hostnameVerifier;  
    }  
  
  
}

结合代码

package com.nsk666.area;  
  
import com.alibaba.fastjson.JSONObject;  
import com.alibaba.fastjson.TypeReference;  
import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  
  
import java.io.IOException;  
import java.nio.file.Files;  
import java.nio.file.Path;  
import java.nio.file.Paths;  
import java.util.LinkedHashMap;  
import java.util.LinkedHashSet;  
import java.util.Map;  
import java.util.Set;  
import java.util.stream.Collectors;  
  
/**  
 * @author niushuaikui * @description TODO  
 * @date 2024/10/12  
 */public class TestCombine {  
    private static final Logger log = LoggerFactory.getLogger(TestCombine.class);  
  
    public static void main(String[] args) throws IOException {  
        Path path = Paths.get("G:\\Workspaces\\Learn\\LearnWork\\src\\main\\java\\com\\nsk666\\area\\area.json");  
        String str = Files.readString(path);  
        Map<String,String> map = JSONObject.parseObject(str,new TypeReference<Map<String,String>>(){});  
        Set<String> collect = map.keySet().stream().sorted(String::compareTo).collect(Collectors.toCollection(LinkedHashSet::new));  
        Map<String,String> resMap = new LinkedHashMap<>();  
        for (String s : collect) {  
            resMap.put(s,map.get(s));  
        }  
        Set<String> keySet = resMap.keySet();  
        for (String s : keySet) {  
            String des = resMap.get(s);  
            if (des.contains("省")){  
                int i = des.indexOf("省");  
                des = des.substring(i + 1);  
            }else if (des.contains("自治区")){  
                int i = des.indexOf("自治区");  
                des = des.substring(i+3);  
            }else if (des.startsWith("北京市")|| des.startsWith("天津市")|| des.startsWith("上海市")|| des.startsWith("重庆市")){  
                continue;  
            }  
            des = des.replace("市","").  
                    replace("区","").replace("县","")  
                    .replace("自治州","")  
                    .replace("自治","")  
                    .replace("特别行政","");  
            for (String ss : keySet) {  
                String dess = resMap.get(ss);  
                if (dess.contains("省")){  
                    int i = dess.indexOf("省");  
                    dess = dess.substring(i + 1);  
                }else if (dess.contains("自治区")){  
                    int i = dess.indexOf("自治区");  
                    dess = dess.substring(i+3);  
                }else if (dess.startsWith("北京市")|| dess.startsWith("天津市")|| dess.startsWith("上海市")|| dess.startsWith("重庆市")){  
                    continue;  
                }  
                dess = dess.replace("市","").  
                        replace("区","").replace("县","")  
                        .replace("自治州","")  
                        .replace("自治","")  
                        .replace("特别行政","");  
                if (dess.contains(des) && !ss.equals(s) && resMap.get(s).substring(0,2).equals(resMap.get(ss).substring(0,2))){  
                    System.out.println(ss+" "+ resMap.get(ss) +"\t" + s + resMap.get(s) +"\t" +des);  
                    resMap.put(ss,resMap.get(s));  
                }  
            }  
        }  
        System.out.println(JSONObject.toJSONString(resMap, true));  
    }  
}

结合后JSON数据

{  
  "1101": "北京市",  
  "1102": "北京市市辖县",  
  "1201": "天津市",  
  "1202": "天津市市辖县",  
  "1301": "河北省石家庄市",  
  "1302": "河北省唐山市",  
  "1303": "河北省秦皇岛市",  
  "1304": "河北省邯郸市",  
  "1305": "河北省邢台市",  
  "1306": "河北省保定市",  
  "1307": "河北省张家口市",  
  "1308": "河北省承德市",  
  "1309": "河北省沧洲市",  
  "1310": "河北省廊坊市",  
  "1311": "河北省衡水市",  
  "1324": "河北省保定地区",  
  "1330": "河北省衡水地区",  
  "1331": "河北省雄安新区",  
  "1401": "山西省太原市",  
  "1402": "山西省大同市",  
  "1403": "山西省阳泉市",  
  "1404": "山西省长治市",  
  "1405": "山西省晋城市",  
  "1406": "山西省朔州市",  
  "1407": "山西省晋中市",  
  "1408": "山西省运城市",  
  "1409": "山西省忻州市",  
  "1410": "山西省临汾市",  
  "1411": "山西省吕梁市",  
  "1422": "山西省忻洲地区",  
  "1423": "山西省吕梁地区",  
  "1424": "山西省晋中地区",  
  "1426": "山西省临汾地区",  
  "1427": "山西省运城地区",  
  "1501": "内蒙古自治区呼和浩特市",  
  "1502": "内蒙古自治区包头市",  
  "1503": "内蒙古自治区乌海市",  
  "1504": "内蒙古自治区赤峰市",  
  "1505": "内蒙古自治区通辽市",  
  "1506": "内蒙古自治区鄂尔多斯市",  
  "1507": "内蒙古自治区呼伦贝尔市",  
  "1508": "内蒙古自治区巴彦淖尔市",  
  "1509": "内蒙古自治区乌兰察布市",  
  "1521": "内蒙古自治区呼伦贝尔盟",  
  "1522": "内蒙古自治区兴安盟",  
  "1523": "内蒙古自治区哲里木盟",  
  "1525": "内蒙古自治区锡林郭勒盟",  
  "1526": "内蒙古自治区乌兰察布盟",  
  "1527": "内蒙古自治区伊克昭盟",  
  "1528": "内蒙古自治区巴彦淖尔盟",  
  "1529": "内蒙古自治区阿拉善盟",  
  "2101": "辽宁省沈阳市",  
  "2102": "辽宁省大连市",  
  "2103": "辽宁省鞍山市",  
  "2104": "辽宁省抚顺市",  
  "2105": "辽宁省本溪市",  
  "2106": "辽宁省丹东市",  
  "2107": "辽宁省锦州市",  
  "2108": "辽宁省营口市",  
  "2109": "辽宁省阜新市",  
  "2110": "辽宁省辽阳市",  
  "2111": "辽宁省盘锦市",  
  "2112": "辽宁省铁岭市",  
  "2113": "辽宁省朝阳市",  
  "2114": "辽宁省锦西市",  
  "2201": "吉林省长春市",  
  "2202": "吉林省吉林市",  
  "2203": "吉林省四平市",  
  "2204": "吉林省辽源市",  
  "2205": "吉林省通化市",  
  "2206": "吉林省浑江市",  
  "2207": "吉林省松原市",  
  "2208": "吉林省白城市",  
  "2224": "吉林省延边朝鲜族自治州",  
  "2301": "黑龙江哈尔滨市",  
  "2302": "黑龙江齐齐哈尔市",  
  "2303": "黑龙江鸡西市",  
  "2304": "黑龙江鹤岗市",  
  "2305": "黑龙江双鸭山市",  
  "2306": "黑龙江大庆市",  
  "2307": "黑龙江伊春市",  
  "2308": "黑龙江佳木斯市",  
  "2309": "黑龙江七台河市",  
  "2310": "黑龙江牡丹江市",  
  "2311": "黑龙江黑河市",  
  "2312": "黑龙江省绥化市",  
  "2321": "黑龙江松花江地区",  
  "2323": "黑龙江绥化地区",  
  "2327": "黑龙江大兴安岭地区",  
  "3101": "上海市",  
  "3102": "上海市市辖县",  
  "3201": "江苏省南京市",  
  "3202": "江苏省无锡市",  
  "3203": "江苏省徐州市",  
  "3204": "江苏省常州市",  
  "3205": "江苏省苏州市",  
  "3206": "江苏省南通市",  
  "3207": "江苏省连云港市",  
  "3208": "江苏省淮阴市",  
  "3209": "江苏省盐城市",  
  "3210": "江苏省扬州市",  
  "3211": "江苏省镇江市",  
  "3212": "江苏省泰州市",  
  "3213": "江苏省宿迁市",  
  "3301": "浙江省杭州市",  
  "3302": "浙江省宁波市",  
  "3303": "浙江省温州市",  
  "3304": "浙江省嘉兴市",  
  "3305": "浙江省湖洲市",  
  "3306": "浙江省绍兴市",  
  "3307": "浙江省金华市",  
  "3308": "浙江省衢州市",  
  "3309": "浙江省舟山市",  
  "3310": "浙江省台州市",  
  "3311": "浙江省丽水市",  
  "3325": "浙江省丽水地区",  
  "3326": "浙江省台州地区",  
  "3401": "安徽省合肥市",  
  "3402": "安徽省芜湖市",  
  "3403": "安徽省蚌埠市",  
  "3404": "安徽省淮南市",  
  "3405": "安徽省马鞍山市",  
  "3406": "安徽省淮北市",  
  "3407": "安徽省铜陵市",  
  "3408": "安徽省安庆市",  
  "3410": "安徽省黄山市",  
  "3411": "安徽省滁州市",  
  "3412": "安徽省阜阳市",  
  "3413": "安徽省宿州市",  
  "3415": "安徽省六安市",  
  "3416": "安徽省亳州市",  
  "3417": "安徽省池州市",  
  "3418": "安徽省宣城市",  
  "3421": "安徽省阜阳地区",  
  "3422": "安徽省宿县地区",  
  "3424": "安徽省六安地区",  
  "3425": "安徽省宣城地区",  
  "3426": "安徽省巢湖地区",  
  "3429": "安徽省池州地区",  
  "3501": "福建省福州市",  
  "3502": "福建省厦门市",  
  "3503": "福建省莆田市",  
  "3504": "福建省三明市",  
  "3505": "福建省泉州市",  
  "3506": "福建省漳州市",  
  "3507": "福建省南平市",  
  "3508": "福建省龙岩市",  
  "3509": "福建省宁德市",  
  "3521": "福建省南平地区",  
  "3522": "福建省宁德地区",  
  "3526": "福建省龙岩地区",  
  "3601": "江西省南昌市",  
  "3602": "江西省景德镇市",  
  "3603": "江西省萍乡市",  
  "3604": "江西省九江市",  
  "3605": "江西省新余市",  
  "3606": "江西省鹰潭市",  
  "3607": "江西省赣州市",  
  "3608": "江西省吉安市",  
  "3609": "江西省宜春市",  
  "3610": "江西省抚州市",  
  "3611": "江西省上饶市",  
  "3621": "江西省赣州地区",  
  "3622": "江西省宜春地区",  
  "3623": "江西省上饶地区",  
  "3624": "江西省吉安地区",  
  "3625": "江西省抚州地区",  
  "3701": "山东省济南市",  
  "3702": "山东省青岛市",  
  "3703": "山东省淄博市",  
  "3704": "山东省枣庄市",  
  "3705": "山东省东营市",  
  "3706": "山东省烟台市",  
  "3707": "山东省潍坊市",  
  "3708": "山东省济宁市",  
  "3709": "山东省泰安市",  
  "3710": "山东省威海市",  
  "3711": "山东省日照市",  
  "3712": "山东省莱芜市",  
  "3713": "山东省临沂市",  
  "3714": "山东省德州市",  
  "3715": "山东省聊城市",  
  "3716": "山东省滨州市",  
  "3717": "山东省菏泽市",  
  "3723": "山东省滨州地区",  
  "3724": "山东省德州地区",  
  "3725": "山东省聊城地区",  
  "3728": "山东省临沂地区",  
  "3729": "山东省菏泽地区",  
  "4101": "河南省郑州市",  
  "4102": "河南省开封市",  
  "4103": "河南省洛阳市",  
  "4104": "河南省平顶山市",  
  "4105": "河南省安阳市",  
  "4106": "河南省鹤壁市",  
  "4107": "河南省新乡市",  
  "4108": "河南省焦作市",  
  "4109": "河南省濮阳市",  
  "4110": "河南省许昌市",  
  "4111": "河南省漯河市",  
  "4112": "河南省三门峡市",  
  "4113": "河南省南阳市",  
  "4114": "河南省商丘市",  
  "4115": "河南省信阳市",  
  "4116": "河南省周口市",  
  "4117": "河南省驻马店市",  
  "4123": "河南省商丘地区",  
  "4127": "河南省周口地区",  
  "4128": "河南省驻马店地区",  
  "4129": "河南省南阳地区",  
  "4130": "河南省信阳地区",  
  "4190": "河南省省直辖县级行政区划",  
  "4201": "湖北省武汉市",  
  "4202": "湖北省黄石市",  
  "4203": "湖北省十堰市",  
  "4204": "湖北省沙市市",  
  "4205": "湖北省宜昌市",  
  "4206": "湖北省襄樊市",  
  "4207": "湖北省鄂州市",  
  "4208": "湖北省荆门市",  
  "4209": "湖北省孝感市",  
  "4210": "湖北省荆州市",  
  "4211": "湖北省黄冈市",  
  "4212": "湖北省咸宁市",  
  "4213": "湖北省随州市",  
  "4221": "湖北省黄冈地区",  
  "4223": "湖北省咸宁地区",  
  "4224": "湖北省荆州地区",  
  "4226": "湖北省郧阳地区",  
  "4228": "湖北省恩施土家族苗族自治州",  
  "4229": "湖北省省直辖行政单位",  
  "4290": "湖北省省直辖县级行政区划",  
  "4301": "湖南省长沙市",  
  "4302": "湖南省株洲市",  
  "4303": "湖南省湘潭市",  
  "4304": "湖南省衡阳市",  
  "4305": "湖南省邵阳市",  
  "4306": "湖南省岳阳市",  
  "4307": "湖南省常德市",  
  "4308": "湖南省大庸市",  
  "4309": "湖南省益阳市",  
  "4310": "湖南省郴州市",  
  "4311": "湖南省永州市",  
  "4312": "湖南省怀化市",  
  "4313": "湖南省娄底市",  
  "4323": "湖南省益阳地区",  
  "4325": "湖南省娄底地区",  
  "4328": "湖南省郴州地区",  
  "4329": "湖南省零陵地区",  
  "4330": "湖南省怀化地区",  
  "4331": "湖南省湘西土家族苗族自治州",  
  "4401": "广东省广州市",  
  "4402": "广东省韶关市",  
  "4403": "广东省深圳市",  
  "4404": "广东省珠海市",  
  "4405": "广东省汕头市",  
  "4406": "广东省佛山市",  
  "4407": "广东省江门市",  
  "4408": "广东省湛江市",  
  "4409": "广东省茂名市",  
  "4412": "广东省肇庆市",  
  "4413": "广东省惠州市",  
  "4414": "广东省梅州市",  
  "4415": "广东省汕尾市",  
  "4416": "广东省河源市",  
  "4417": "广东省阳江市",  
  "4418": "广东省清远市",  
  "4419": "广东省东莞市",  
  "4420": "广东省中山市",  
  "4451": "广东省潮州市",  
  "4452": "广东省揭阳市",  
  "4453": "广东省云浮市",  
  "4501": "广西壮族自治区南宁市",  
  "4502": "广西壮族自治区柳州市",  
  "4503": "广西壮族自治区桂林市",  
  "4504": "广西壮族自治区梧州市",  
  "4505": "广西壮族自治区北海市 ",  
  "4506": "广西壮族自治区防城港市",  
  "4507": "广西壮族自治区钦州市",  
  "4508": "广西壮族自治区贵港市",  
  "4509": "广西壮族自治区玉林市",  
  "4510": "广西壮族自治区百色市",  
  "4511": "广西壮族自治区贺州市",  
  "4512": "广西壮族自治区河池市",  
  "4513": "广西壮族自治区来宾市",  
  "4514": "广西壮族自治区崇左市",  
  "4521": "广西壮族自治区南宁地区",  
  "4522": "广西壮族自治区柳州地区",  
  "4523": "广西壮族自治区桂林地区",  
  "4524": "广西壮族自治区梧州地区",  
  "4525": "广西壮族自治区玉林地区",  
  "4526": "广西壮族自治区百色地区",  
  "4527": "广西壮族自治区河池地区",  
  "4528": "广西壮族自治区钦州地区",  
  "4600": "海南省三亚各市县",  
  "4601": "海南省海口市",  
  "4602": "海南省三亚市",  
  "4603": "海南省三沙市",  
  "4604": "海南省儋州市",  
  "4690": "海南省省直辖县级行政区划",  
  "5001": "重庆市市辖区",  
  "5002": "重庆市县",  
  "5101": "四川省成都市",  
  "5102": "四川省重庆市",  
  "5103": "四川省自贡市",  
  "5104": "四川省攀枝花市",  
  "5105": "四川省泸州市",  
  "5106": "四川省德阳市",  
  "5107": "四川省绵阳市",  
  "5108": "四川省广元市",  
  "5109": "四川省遂宁市",  
  "5110": "四川省内江市",  
  "5111": "四川省乐山市",  
  "5112": "四川省万县市",  
  "5113": "四川省南充市",  
  "5114": "四川省眉山市",  
  "5115": "四川省宜宾市",  
  "5116": "四川省广安市",  
  "5117": "四川省达州市",  
  "5118": "四川省雅安市",  
  "5119": "四川省巴中市",  
  "5120": "四川省资阳市",  
  "5123": "四川省涪陵地区",  
  "5125": "四川省宜宾地区",  
  "5130": "四川省达川地区",  
  "5131": "四川省雅安地区",  
  "5132": "四川省阿坝藏族羌族自治州",  
  "5133": "四川省甘孜藏族自治州",  
  "5134": "四川省凉山彝族自治州",  
  "5135": "四川省黔江地区",  
  "5136": "四川省广安地区",  
  "5137": "四川省巴中地区",  
  "5201": "贵州省贵阳市",  
  "5202": "贵州省六盘水市",  
  "5203": "贵州省遵义市",  
  "5204": "贵州省安顺市",  
  "5205": "贵州省毕节市",  
  "5206": "贵州省铜仁市",  
  "5221": "贵州省遵义地区",  
  "5222": "贵州省铜仁地区",  
  "5223": "贵州省黔西南布依族苗族自治州",  
  "5224": "贵州省毕节地区",  
  "5225": "贵州省安顺地区",  
  "5226": "贵州省黔东南苗族侗族自治州",  
  "5227": "贵州省黔南布依族苗族自治州",  
  "5301": "云南省昆明市",  
  "5302": "云南省东川市",  
  "5303": "云南省曲靖市",  
  "5304": "云南省玉溪市",  
  "5305": "云南省保山市",  
  "5306": "云南省昭通市",  
  "5307": "云南省丽江市",  
  "5308": "云南省普洱市",  
  "5309": "云南省临沧市",  
  "5321": "云南省昭通地区",  
  "5322": "云南省曲靖地区",  
  "5323": "云南省楚雄彝族自治州",  
  "5324": "云南省玉溪地区",  
  "5325": "云南省红河哈尼族彝族自治州",  
  "5326": "云南省文山壮族苗族自治州",  
  "5327": "云南省思茅地区",  
  "5328": "云南省西双版纳傣族自治州",  
  "5329": "云南省大理白族自治州",  
  "5330": "云南省保山地区",  
  "5331": "云南省德宏傣族景颇族自治州",  
  "5332": "云南省丽江地区",  
  "5333": "云南省怒江傈僳族自治州",  
  "5334": "云南省迪庆藏族自治州",  
  "5335": "云南省临沧地区",  
  "5401": "西藏自治区拉萨市",  
  "5402": "西藏自治区日喀则市",  
  "5403": "西藏自治区昌都市",  
  "5404": "西藏自治区林芝市",  
  "5405": "西藏自治区山南市",  
  "5406": "西藏自治区那曲市",  
  "5421": "西藏自治区昌都地区",  
  "5422": "西藏自治区山南地区",  
  "5423": "西藏自治区日喀则地区",  
  "5424": "西藏自治区那曲地区",  
  "5425": "西藏自治区阿里地区",  
  "5426": "西藏自治区林芝地区",  
  "6101": "陕西省西安市",  
  "6102": "陕西省铜川市",  
  "6103": "陕西省宝鸡市",  
  "6104": "陕西省咸阳市",  
  "6105": "陕西省渭南市",  
  "6106": "陕西省延安市",  
  "6107": "陕西省汉中市",  
  "6108": "陕西省榆林市",  
  "6109": "陕西省安康市",  
  "6110": "陕西省商洛市",  
  "6121": "陕西省渭南地区",  
  "6123": "陕西省汉中地区",  
  "6124": "陕西省安康地区",  
  "6125": "陕西省商洛地区",  
  "6126": "陕西省延安地区",  
  "6127": "陕西省榆林地区",  
  "6201": "甘肃省兰州市",  
  "6202": "甘肃省嘉峪关市",  
  "6203": "甘肃省金昌市",  
  "6204": "甘肃省白银市",  
  "6205": "甘肃省天水市",  
  "6206": "甘肃省武威市",  
  "6207": "甘肃省张掖市",  
  "6208": "甘肃省平凉市",  
  "6209": "甘肃省酒泉市",  
  "6210": "甘肃省庆阳市",  
  "6211": "甘肃省定西市",  
  "6212": "甘肃省陇南市",  
  "6221": "甘肃省酒泉地区",  
  "6222": "甘肃省张掖地区",  
  "6223": "甘肃省武威地区",  
  "6224": "甘肃省定西地区",  
  "6226": "甘肃省陇南地区",  
  "6227": "甘肃省平凉地区",  
  "6228": "甘肃省庆阳地区",  
  "6229": "甘肃省临夏回族自治州",  
  "6230": "甘肃省甘南藏族自治州",  
  "6301": "青海省西宁市",  
  "6302": "青海省海东市",  
  "6321": "青海省海东地区",  
  "6322": "青海省海北藏族自治州",  
  "6323": "青海省黄南藏族自治州",  
  "6325": "青海省海南藏族自治州",  
  "6326": "青海省果洛藏族自治州",  
  "6327": "青海省玉树藏族自治州",  
  "6328": "青海省海西蒙古族藏族自治州",  
  "6401": "宁夏回族自治区银川市",  
  "6402": "宁夏回族自治区石嘴山市",  
  "6403": "宁夏回族自治区吴忠市",  
  "6404": "宁夏回族自治区固原市",  
  "6405": "宁夏回族自治区中卫市",  
  "6421": "宁夏回族自治区银南地区",  
  "6422": "宁夏回族自治区固原地区",  
  "6501": "新疆维吾尔自治区乌鲁木齐市",  
  "6502": "新疆维吾尔自治区克拉玛依市",  
  "6504": "新疆维吾尔自治区吐鲁番市",  
  "6505": "新疆维吾尔自治区哈密市",  
  "6521": "新疆维吾尔自治区吐鲁番地区",  
  "6522": "新疆维吾尔自治区哈密地区",  
  "6523": "新疆维吾尔自治区昌吉回族自治州",  
  "6527": "新疆维吾尔自治区博尔塔拉蒙古自治州",  
  "6528": "新疆维吾尔自治区巴音郭楞蒙古自治州",  
  "6529": "新疆维吾尔自治区阿克苏地区",  
  "6530": "新疆维吾尔自治区克孜勒苏柯尔克孜自治州",  
  "6531": "新疆维吾尔自治区喀什地区",  
  "6532": "新疆维吾尔自治区和田地区",  
  "6540": "新疆维吾尔自治区伊犁哈萨克自治州",  
  "6541": "新疆维吾尔自治区伊犁地区",  
  "6542": "新疆维吾尔自治区塔城地区",  
  "6543": "新疆维吾尔自治区阿勒泰地区",  
  "6590": "新疆维吾尔自治区省直辖行政单位",  
  "7100": "台湾",  
  "7200": "香港特别行政区",  
  "7300": "澳门特别行政区"  
}

结合后,修改相同地区一致描述

{  
  "1101":"北京市",  
  "1102":"北京市",  
  "1201":"天津市",  
  "1202":"天津市",  
  "1301":"河北省石家庄市",  
  "1302":"河北省唐山市",  
  "1303":"河北省秦皇岛市",  
  "1304":"河北省邯郸市",  
  "1305":"河北省邢台市",  
  "1306":"河北省保定市",  
  "1307":"河北省张家口市",  
  "1308":"河北省承德市",  
  "1309":"河北省沧洲市",  
  "1310":"河北省廊坊市",  
  "1311":"河北省衡水市",  
  "1324":"河北省保定市",  
  "1330":"河北省衡水市",  
  "1331":"河北省雄安新区",  
  "1401":"山西省太原市",  
  "1402":"山西省大同市",  
  "1403":"山西省阳泉市",  
  "1404":"山西省长治市",  
  "1405":"山西省晋城市",  
  "1406":"山西省朔州市",  
  "1407":"山西省晋中市",  
  "1408":"山西省运城市",  
  "1409":"山西省忻州市",  
  "1410":"山西省临汾市",  
  "1411":"山西省吕梁市",  
  "1422":"山西省忻洲地区",  
  "1423":"山西省吕梁市",  
  "1424":"山西省晋中市",  
  "1426":"山西省临汾市",  
  "1427":"山西省运城市",  
  "1501":"内蒙古自治区呼和浩特市",  
  "1502":"内蒙古自治区包头市",  
  "1503":"内蒙古自治区乌海市",  
  "1504":"内蒙古自治区赤峰市",  
  "1505":"内蒙古自治区通辽市",  
  "1506":"内蒙古自治区鄂尔多斯市",  
  "1507":"内蒙古自治区呼伦贝尔市",  
  "1508":"内蒙古自治区巴彦淖尔市",  
  "1509":"内蒙古自治区乌兰察布市",  
  "1521":"内蒙古自治区呼伦贝尔市",  
  "1522":"内蒙古自治区兴安盟",  
  "1523":"内蒙古自治区哲里木盟",  
  "1525":"内蒙古自治区锡林郭勒盟",  
  "1526":"内蒙古自治区乌兰察布市",  
  "1527":"内蒙古自治区伊克昭盟",  
  "1528":"内蒙古自治区巴彦淖尔市",  
  "1529":"内蒙古自治区阿拉善盟",  
  "2101":"辽宁省沈阳市",  
  "2102":"辽宁省大连市",  
  "2103":"辽宁省鞍山市",  
  "2104":"辽宁省抚顺市",  
  "2105":"辽宁省本溪市",  
  "2106":"辽宁省丹东市",  
  "2107":"辽宁省锦州市",  
  "2108":"辽宁省营口市",  
  "2109":"辽宁省阜新市",  
  "2110":"辽宁省辽阳市",  
  "2111":"辽宁省盘锦市",  
  "2112":"辽宁省铁岭市",  
  "2113":"辽宁省朝阳市",  
  "2114":"辽宁省锦西市",  
  "2201":"吉林省长春市",  
  "2202":"吉林省吉林市",  
  "2203":"吉林省四平市",  
  "2204":"吉林省辽源市",  
  "2205":"吉林省通化市",  
  "2206":"吉林省浑江市",  
  "2207":"吉林省松原市",  
  "2208":"吉林省白城市",  
  "2224":"吉林省延边朝鲜族自治州",  
  "2301":"黑龙江哈尔滨市",  
  "2302":"黑龙江齐齐哈尔市",  
  "2303":"黑龙江鸡西市",  
  "2304":"黑龙江鹤岗市",  
  "2305":"黑龙江双鸭山市",  
  "2306":"黑龙江大庆市",  
  "2307":"黑龙江伊春市",  
  "2308":"黑龙江佳木斯市",  
  "2309":"黑龙江七台河市",  
  "2310":"黑龙江牡丹江市",  
  "2311":"黑龙江黑河市",  
  "2312":"黑龙江省绥化市",  
  "2321":"黑龙江松花江地区",  
  "2323":"黑龙江省绥化市",  
  "2327":"黑龙江大兴安岭地区",  
  "3101":"上海市",  
  "3102":"上海市",  
  "3201":"江苏省南京市",  
  "3202":"江苏省无锡市",  
  "3203":"江苏省徐州市",  
  "3204":"江苏省常州市",  
  "3205":"江苏省苏州市",  
  "3206":"江苏省南通市",  
  "3207":"江苏省连云港市",  
  "3208":"江苏省淮阴市",  
  "3209":"江苏省盐城市",  
  "3210":"江苏省扬州市",  
  "3211":"江苏省镇江市",  
  "3212":"江苏省泰州市",  
  "3213":"江苏省宿迁市",  
  "3301":"浙江省杭州市",  
  "3302":"浙江省宁波市",  
  "3303":"浙江省温州市",  
  "3304":"浙江省嘉兴市",  
  "3305":"浙江省湖洲市",  
  "3306":"浙江省绍兴市",  
  "3307":"浙江省金华市",  
  "3308":"浙江省衢州市",  
  "3309":"浙江省舟山市",  
  "3310":"浙江省台州市",  
  "3311":"浙江省丽水市",  
  "3325":"浙江省丽水市",  
  "3326":"浙江省台州市",  
  "3401":"安徽省合肥市",  
  "3402":"安徽省芜湖市",  
  "3403":"安徽省蚌埠市",  
  "3404":"安徽省淮南市",  
  "3405":"安徽省马鞍山市",  
  "3406":"安徽省淮北市",  
  "3407":"安徽省铜陵市",  
  "3408":"安徽省安庆市",  
  "3410":"安徽省黄山市",  
  "3411":"安徽省滁州市",  
  "3412":"安徽省阜阳市",  
  "3413":"安徽省宿州市",  
  "3415":"安徽省六安市",  
  "3416":"安徽省亳州市",  
  "3417":"安徽省池州市",  
  "3418":"安徽省宣城市",  
  "3421":"安徽省阜阳市",  
  "3422":"安徽省宿县地区",  
  "3424":"安徽省六安市",  
  "3425":"安徽省宣城市",  
  "3426":"安徽省巢湖地区",  
  "3429":"安徽省池州市",  
  "3501":"福建省福州市",  
  "3502":"福建省厦门市",  
  "3503":"福建省莆田市",  
  "3504":"福建省三明市",  
  "3505":"福建省泉州市",  
  "3506":"福建省漳州市",  
  "3507":"福建省南平市",  
  "3508":"福建省龙岩市",  
  "3509":"福建省宁德市",  
  "3521":"福建省南平市",  
  "3522":"福建省宁德市",  
  "3526":"福建省龙岩市",  
  "3601":"江西省南昌市",  
  "3602":"江西省景德镇市",  
  "3603":"江西省萍乡市",  
  "3604":"江西省九江市",  
  "3605":"江西省新余市",  
  "3606":"江西省鹰潭市",  
  "3607":"江西省赣州市",  
  "3608":"江西省吉安市",  
  "3609":"江西省宜春市",  
  "3610":"江西省抚州市",  
  "3611":"江西省上饶市",  
  "3621":"江西省赣州市",  
  "3622":"江西省宜春市",  
  "3623":"江西省上饶市",  
  "3624":"江西省吉安市",  
  "3625":"江西省抚州市",  
  "3701":"山东省济南市",  
  "3702":"山东省青岛市",  
  "3703":"山东省淄博市",  
  "3704":"山东省枣庄市",  
  "3705":"山东省东营市",  
  "3706":"山东省烟台市",  
  "3707":"山东省潍坊市",  
  "3708":"山东省济宁市",  
  "3709":"山东省泰安市",  
  "3710":"山东省威海市",  
  "3711":"山东省日照市",  
  "3712":"山东省莱芜市",  
  "3713":"山东省临沂市",  
  "3714":"山东省德州市",  
  "3715":"山东省聊城市",  
  "3716":"山东省滨州市",  
  "3717":"山东省菏泽市",  
  "3723":"山东省滨州市",  
  "3724":"山东省德州市",  
  "3725":"山东省聊城市",  
  "3728":"山东省临沂市",  
  "3729":"山东省菏泽市",  
  "4101":"河南省郑州市",  
  "4102":"河南省开封市",  
  "4103":"河南省洛阳市",  
  "4104":"河南省平顶山市",  
  "4105":"河南省安阳市",  
  "4106":"河南省鹤壁市",  
  "4107":"河南省新乡市",  
  "4108":"河南省焦作市",  
  "4109":"河南省濮阳市",  
  "4110":"河南省许昌市",  
  "4111":"河南省漯河市",  
  "4112":"河南省三门峡市",  
  "4113":"河南省南阳市",  
  "4114":"河南省商丘市",  
  "4115":"河南省信阳市",  
  "4116":"河南省周口市",  
  "4117":"河南省驻马店市",  
  "4123":"河南省商丘市",  
  "4127":"河南省周口市",  
  "4128":"河南省驻马店市",  
  "4129":"河南省南阳市",  
  "4130":"河南省信阳市",  
  "4190":"河南省省直辖县级行政区划",  
  "4201":"湖北省武汉市",  
  "4202":"湖北省黄石市",  
  "4203":"湖北省十堰市",  
  "4204":"湖北省沙市市",  
  "4205":"湖北省宜昌市",  
  "4206":"湖北省襄樊市",  
  "4207":"湖北省鄂州市",  
  "4208":"湖北省荆门市",  
  "4209":"湖北省孝感市",  
  "4210":"湖北省荆州市",  
  "4211":"湖北省黄冈市",  
  "4212":"湖北省咸宁市",  
  "4213":"湖北省随州市",  
  "4221":"湖北省黄冈市",  
  "4223":"湖北省咸宁市",  
  "4224":"湖北省荆州市",  
  "4226":"湖北省郧阳地区",  
  "4228":"湖北省恩施土家族苗族自治州",  
  "4229":"湖北省省直辖行政单位",  
  "4290":"湖北省省直辖县级行政区划",  
  "4301":"湖南省长沙市",  
  "4302":"湖南省株洲市",  
  "4303":"湖南省湘潭市",  
  "4304":"湖南省衡阳市",  
  "4305":"湖南省邵阳市",  
  "4306":"湖南省岳阳市",  
  "4307":"湖南省常德市",  
  "4308":"湖南省大庸市",  
  "4309":"湖南省益阳市",  
  "4310":"湖南省郴州市",  
  "4311":"湖南省永州市",  
  "4312":"湖南省怀化市",  
  "4313":"湖南省娄底市",  
  "4323":"湖南省益阳市",  
  "4325":"湖南省娄底市",  
  "4328":"湖南省郴州市",  
  "4329":"湖南省零陵地区",  
  "4330":"湖南省怀化市",  
  "4331":"湖南省湘西土家族苗族自治州",  
  "4401":"广东省广州市",  
  "4402":"广东省韶关市",  
  "4403":"广东省深圳市",  
  "4404":"广东省珠海市",  
  "4405":"广东省汕头市",  
  "4406":"广东省佛山市",  
  "4407":"广东省江门市",  
  "4408":"广东省湛江市",  
  "4409":"广东省茂名市",  
  "4412":"广东省肇庆市",  
  "4413":"广东省惠州市",  
  "4414":"广东省梅州市",  
  "4415":"广东省汕尾市",  
  "4416":"广东省河源市",  
  "4417":"广东省阳江市",  
  "4418":"广东省清远市",  
  "4419":"广东省东莞市",  
  "4420":"广东省中山市",  
  "4451":"广东省潮州市",  
  "4452":"广东省揭阳市",  
  "4453":"广东省云浮市",  
  "4501":"广西壮族自治区南宁市",  
  "4502":"广西壮族自治区柳州市",  
  "4503":"广西壮族自治区桂林市",  
  "4504":"广西壮族自治区梧州市",  
  "4505":"广西壮族自治区北海市 ",  
  "4506":"广西壮族自治区防城港市",  
  "4507":"广西壮族自治区钦州市",  
  "4508":"广西壮族自治区贵港市",  
  "4509":"广西壮族自治区玉林市",  
  "4510":"广西壮族自治区百色市",  
  "4511":"广西壮族自治区贺州市",  
  "4512":"广西壮族自治区河池市",  
  "4513":"广西壮族自治区来宾市",  
  "4514":"广西壮族自治区崇左市",  
  "4521":"广西壮族自治区南宁市",  
  "4522":"广西壮族自治区柳州市",  
  "4523":"广西壮族自治区桂林市",  
  "4524":"广西壮族自治区梧州市",  
  "4525":"广西壮族自治区玉林市",  
  "4526":"广西壮族自治区百色市",  
  "4527":"广西壮族自治区河池市",  
  "4528":"广西壮族自治区钦州市",  
  "4600":"海南省三亚市",  
  "4601":"海南省海口市",  
  "4602":"海南省三亚市",  
  "4603":"海南省三沙市",  
  "4604":"海南省儋州市",  
  "4690":"海南省省直辖县级行政区划",  
  "5001":"重庆市",  
  "5002":"重庆市",  
  "5101":"四川省成都市",  
  "5102":"重庆市",  
  "5103":"四川省自贡市",  
  "5104":"四川省攀枝花市",  
  "5105":"四川省泸州市",  
  "5106":"四川省德阳市",  
  "5107":"四川省绵阳市",  
  "5108":"四川省广元市",  
  "5109":"四川省遂宁市",  
  "5110":"四川省内江市",  
  "5111":"四川省乐山市",  
  "5112":"四川省万县市",  
  "5113":"四川省南充市",  
  "5114":"四川省眉山市",  
  "5115":"四川省宜宾市",  
  "5116":"四川省广安市",  
  "5117":"四川省达州市",  
  "5118":"四川省雅安市",  
  "5119":"四川省巴中市",  
  "5120":"四川省资阳市",  
  "5123":"四川省涪陵地区",  
  "5125":"四川省宜宾市",  
  "5130":"四川省达川地区",  
  "5131":"四川省雅安市",  
  "5132":"四川省阿坝藏族羌族自治州",  
  "5133":"四川省甘孜藏族自治州",  
  "5134":"四川省凉山彝族自治州",  
  "5135":"四川省黔江地区",  
  "5136":"四川省广安市",  
  "5137":"四川省巴中市",  
  "5201":"贵州省贵阳市",  
  "5202":"贵州省六盘水市",  
  "5203":"贵州省遵义市",  
  "5204":"贵州省安顺市",  
  "5205":"贵州省毕节市",  
  "5206":"贵州省铜仁市",  
  "5221":"贵州省遵义市",  
  "5222":"贵州省铜仁市",  
  "5223":"贵州省黔西南布依族苗族自治州",  
  "5224":"贵州省毕节市",  
  "5225":"贵州省安顺市",  
  "5226":"贵州省黔东南苗族侗族自治州",  
  "5227":"贵州省黔南布依族苗族自治州",  
  "5301":"云南省昆明市",  
  "5302":"云南省东川市",  
  "5303":"云南省曲靖市",  
  "5304":"云南省玉溪市",  
  "5305":"云南省保山市",  
  "5306":"云南省昭通市",  
  "5307":"云南省丽江市",  
  "5308":"云南省普洱市",  
  "5309":"云南省临沧市",  
  "5321":"云南省昭通市",  
  "5322":"云南省曲靖市",  
  "5323":"云南省楚雄彝族自治州",  
  "5324":"云南省玉溪市",  
  "5325":"云南省红河哈尼族彝族自治州",  
  "5326":"云南省文山壮族苗族自治州",  
  "5327":"云南省思茅地区",  
  "5328":"云南省西双版纳傣族自治州",  
  "5329":"云南省大理白族自治州",  
  "5330":"云南省保山市",  
  "5331":"云南省德宏傣族景颇族自治州",  
  "5332":"云南省丽江市",  
  "5333":"云南省怒江傈僳族自治州",  
  "5334":"云南省迪庆藏族自治州",  
  "5335":"云南省临沧市",  
  "5401":"西藏自治区拉萨市",  
  "5402":"西藏自治区日喀则市",  
  "5403":"西藏自治区昌都市",  
  "5404":"西藏自治区林芝市",  
  "5405":"西藏自治区山南市",  
  "5406":"西藏自治区那曲市",  
  "5421":"西藏自治区昌都市",  
  "5422":"西藏自治区山南市",  
  "5423":"西藏自治区日喀则市",  
  "5424":"西藏自治区那曲市",  
  "5425":"西藏自治区阿里地区",  
  "5426":"西藏自治区林芝市",  
  "6101":"陕西省西安市",  
  "6102":"陕西省铜川市",  
  "6103":"陕西省宝鸡市",  
  "6104":"陕西省咸阳市",  
  "6105":"陕西省渭南市",  
  "6106":"陕西省延安市",  
  "6107":"陕西省汉中市",  
  "6108":"陕西省榆林市",  
  "6109":"陕西省安康市",  
  "6110":"陕西省商洛市",  
  "6121":"陕西省渭南市",  
  "6123":"陕西省汉中市",  
  "6124":"陕西省安康市",  
  "6125":"陕西省商洛市",  
  "6126":"陕西省延安市",  
  "6127":"陕西省榆林市",  
  "6201":"甘肃省兰州市",  
  "6202":"甘肃省嘉峪关市",  
  "6203":"甘肃省金昌市",  
  "6204":"甘肃省白银市",  
  "6205":"甘肃省天水市",  
  "6206":"甘肃省武威市",  
  "6207":"甘肃省张掖市",  
  "6208":"甘肃省平凉市",  
  "6209":"甘肃省酒泉市",  
  "6210":"甘肃省庆阳市",  
  "6211":"甘肃省定西市",  
  "6212":"甘肃省陇南市",  
  "6221":"甘肃省酒泉市",  
  "6222":"甘肃省张掖市",  
  "6223":"甘肃省武威市",  
  "6224":"甘肃省定西市",  
  "6226":"甘肃省陇南市",  
  "6227":"甘肃省平凉市",  
  "6228":"甘肃省庆阳市",  
  "6229":"甘肃省临夏回族自治州",  
  "6230":"甘肃省甘南藏族自治州",  
  "6301":"青海省西宁市",  
  "6302":"青海省海东市",  
  "6321":"青海省海东市",  
  "6322":"青海省海北藏族自治州",  
  "6323":"青海省黄南藏族自治州",  
  "6325":"青海省海南藏族自治州",  
  "6326":"青海省果洛藏族自治州",  
  "6327":"青海省玉树藏族自治州",  
  "6328":"青海省海西蒙古族藏族自治州",  
  "6401":"宁夏回族自治区银川市",  
  "6402":"宁夏回族自治区石嘴山市",  
  "6403":"宁夏回族自治区吴忠市",  
  "6404":"宁夏回族自治区固原市",  
  "6405":"宁夏回族自治区中卫市",  
  "6421":"宁夏回族自治区银南地区",  
  "6422":"宁夏回族自治区固原市",  
  "6501":"新疆维吾尔自治区乌鲁木齐市",  
  "6502":"新疆维吾尔自治区克拉玛依市",  
  "6504":"新疆维吾尔自治区吐鲁番市",  
  "6505":"新疆维吾尔自治区哈密市",  
  "6521":"新疆维吾尔自治区吐鲁番市",  
  "6522":"新疆维吾尔自治区哈密市",  
  "6523":"新疆维吾尔自治区昌吉回族自治州",  
  "6527":"新疆维吾尔自治区博尔塔拉蒙古自治州",  
  "6528":"新疆维吾尔自治区巴音郭楞蒙古自治州",  
  "6529":"新疆维吾尔自治区阿克苏地区",  
  "6530":"新疆维吾尔自治区克孜勒苏柯尔克孜自治州",  
  "6531":"新疆维吾尔自治区喀什地区",  
  "6532":"新疆维吾尔自治区和田地区",  
  "6540":"新疆维吾尔自治区伊犁哈萨克自治州",  
  "6541":"新疆维吾尔自治区伊犁地区",  
  "6542":"新疆维吾尔自治区塔城地区",  
  "6543":"新疆维吾尔自治区阿勒泰地区",  
  "6590":"新疆维吾尔自治区省直辖行政单位",  
  "7100":"台湾",  
  "7200":"香港特别行政区",  
  "7300":"澳门特别行政区"  
}