一、需求
将城市列表(中文)按照首字母分组排序,以26个字母的顺序进行分组。
传统的解决方式使用如下pinyin4j来解决:
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
但是该包对于多音字问题不好解决,例如:长沙市 会转化为zhangshashi,而不是changshashi。这会导致分组混乱,网上也有利用该包和字典的形式进行解决,但我始终觉得太麻烦,还得维护字典表。故而找到另外一种方式(jpinyin),加上自己写的处理类来实现想要的效果。
二、所需依赖
<dependency>
<groupId>com.github.stuxuhai</groupId>
<artifactId>jpinyin</artifactId>
<version>1.1.8</version>
</dependency>
三、工具类
import com.github.stuxuhai.jpinyin.PinyinException;
import com.github.stuxuhai.jpinyin.PinyinFormat;
import com.github.stuxuhai.jpinyin.PinyinHelper;
import java.text.Collator;
import java.util.*;
/**
* @Description TODO
* @Author lgx
* @Time 2023/4/17
*/
public class ChangeChinesePinyinUtil {
/**
* 获取姓名全拼和首字母
* PinyinFormat:WITH_TONE_MARK(声调模式),WITH_TONE_NUMBER(数字代表声调模式),WITHOUT_TONE(无声调模式)
* @param chinese 汉语名称
* @return fullPinyin : 全拼 simplePinyin : 首字母 groupPinyin:微信用户组第一个字母
* @throws PinyinException
*/
public static Map<String, String> changeChinesePinyin(String chinese) throws PinyinException {
Map<String, String> pinyin = new HashMap<String, String>();
//将中文转化成拼音(全拼)
String fullPinyin = PinyinHelper.convertToPinyinString(chinese,"", PinyinFormat.WITHOUT_TONE);
//将中文转化为简拼模式(各汉字第一个字母组成)
String simplePinyin = PinyinHelper.getShortPinyin(chinese);
//首字母
String firstPinyin = String.valueOf(simplePinyin.charAt(0));
//判断是否多音字
// System.out.println(PinyinHelper.hasMultiPinyin('啊'));//true
pinyin.put("fullPinyin", fullPinyin);
pinyin.put("simplePinyin", simplePinyin.toUpperCase());
pinyin.put("groupPinyin", firstPinyin.toUpperCase());
return pinyin;
}
/**
* 按拼音首字母分组
* @param list
* @return
*/
public static Map<String, List<String>> getCodeGroup(List<String> list) throws PinyinException{
Comparator<Object> com = Collator.getInstance(java.util.Locale.CHINA);
//按字母排序
Collections.sort(list, com);
//输出26个字母
Map<String, List<String>> map = new TreeMap<String, List<String>>();
for(int i=1;i<=26;i++){
String word = String. valueOf((char) (96 + i)). toUpperCase();
//循环找出首字母一样的数据
List<String> letter = new ArrayList<String>();
for (String str : list) {
String code = changeChinesePinyin(str).get("groupPinyin");
if(word.equals(code)) {
letter.add(str);
}
}
map.put(word, letter);
}
return map;
}
public static void main(String[] args) throws PinyinException {
List<String> list=new ArrayList<String>();
list.add("长沙市");
list.add("长治市");
list.add("嘉义市");
list.add("重庆市");
list.add("德阳市");
list.add("佛山市");
list.add("伊犁哈萨克自治州");
Map<String, List<String>> codeGroup = getCodeGroup(list);
System.out.println("codeGroup = " + codeGroup);
// String str = "长沙市";
// //设置声调表示格式
// System.out.println(PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITH_TONE_MARK)); // nǐ,hǎo,shì,jiè
// //数字表示声调
// System.out.println(PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITH_TONE_NUMBER)); // ni3,hao3,shi4,jie4
// //无声调
// System.out.println( PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITHOUT_TONE)); // ni,hao,shi,jie
// //获取拼音首字母
// System.out.println(PinyinHelper.getShortPinyin(str)); // nhsj
// //判断是否多音字
// System.out.println(PinyinHelper.hasMultiPinyin('啊'));//true
}
}
四、业务处理
业务处理方法:
public Map searchCity() {
//获取城市对象列表
List<Region> regionListByLevel = regionFeignClient.getRegionListByLevel(2,cityName);
//按照城市名称分组,方便后面进行首字母分组获取城市对象
Map<String, Region> map = regionListByLevel.stream().collect(Collectors.toMap(Region::getName, Region -> Region));
//获取所有城市名称
List<String> keyCollect = map.keySet().stream().collect(Collectors.toList());
//封装返回结果
Map<String,Object> result = new HashMap<>();
try {
//按照首字母进行城市分组
Map<String, List<String>> codeGroup = ChangeChinesePinyinUtil.getCodeGroup(keyCollect);
//将分组对象转化成前端所需格式类型
List<WxMainCitysForClientVO> citys = new ArrayList<>();
codeGroup.forEach((k,v) -> {
WxMainCitysForClientVO citysForLetter = new WxMainCitysForClientVO();
citysForLetter.setLetter(k);
List<WxCityForClientVO> list = new ArrayList<>();
v.forEach(i->{
WxCityForClientVO vo = new WxCityForClientVO();
BeanUtils.copyProperties(map.get(i),vo);
list.add(vo);
});
citysForLetter.setData(list);
citys.add(citysForLetter);
});
result.put("itemArr",citys);
} catch (PinyinException badHanyuPinyinOutputFormatCombination) {
throw new BaseException("转换首字母异常!");
}
return result;
}
各封装类:
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 区域信息
*
*/
@Data
@NoArgsConstructor
public class Region {
/**
* 区域主键
*/
private long id;
/**
* 区域名称
*/
private String name;
/**
* 区域上级标识
*/
private long pid;
/**
* 区域等级
*/
private int level;
@TableField(exist = false)
private List<Region> children;
public Region(Integer id) {
this.id = id;
}
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Description TODO 小程序首页城市下拉显示层
* @Author lgx
* @Time 2023/3/27
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WxMainCitysForClientVO {
/**
* 首字母
*/
private String letter;
/**
* 城市集合
*/
private List<WxCityForClientVO> data;
}
五、返回结果
"itemArr": [
{
"letter": "A",
"data": [
{
"id": 513200,
"name": "阿坝藏族羌族自治州"
},
{
"id": 652900,
"name": "阿克苏地区"
},
{
"id": 659002,
"name": "阿拉尔市"
},
{
"id": 152900,
"name": "阿拉善盟"
},
{
"id": 654300,
"name": "阿勒泰地区"
},
{
"id": 542500,
"name": "阿里地区"
},
{
"id": 210300,
"name": "鞍山市"
},
{
"id": 610900,
"name": "安康市"
},
{
"id": 340800,
"name": "安庆市"
},
{
"id": 520400,
"name": "安顺市"
},
{
"id": 410500,
"name": "安阳市"
},
{
"id": 820100,
"name": "澳门半岛"
}
]
},
{
"letter": "B",
"data": [
{
"id": 150800,
"name": "巴彦淖尔市"
},
{
"id": 652800,
"name": "巴音郭楞蒙古自治州"
},
{
"id": 511900,
"name": "巴中市"
},
{
"id": 220800,
"name": "白城市"
},
{
"id": 469025,
"name": "白沙黎族自治县"
},
{
"id": 220600,
"name": "白山市"
},
{
"id": 620400,
"name": "白银市"
},
{
"id": 451000,
"name": "百色市"
},
{
"id": 340300,
"name": "蚌埠市"
},
{
"id": 150200,
"name": "包头市"
},
{
"id": 130600,
"name": "保定市"
},
{
"id": 530500,
"name": "保山市"
},
{
"id": 469029,
"name": "保亭黎族苗族自治县"
},
{
"id": 610300,
"name": "宝鸡市"
},
{
"id": 450500,
"name": "北海市"
},
{
"id": 110100,
"name": "北京市"
},
{
"id": 659005,
"name": "北屯市"
},
{
"id": 210500,
"name": "本溪市"
},
{
"id": 520500,
"name": "毕节市"
},
{
"id": 371600,
"name": "滨州市"
},
{
"id": 652700,
"name": "博尔塔拉蒙古自治州"
},
{
"id": 341600,
"name": "亳州市"
}
]
},
{
"letter": "C",
"data": [
{
"id": 130900,
"name": "沧州市"
},
{
"id": 540300,
"name": "昌都市"
},
{
"id": 652300,
"name": "昌吉回族自治州"
},
{
"id": 469026,
"name": "昌江黎族自治县"
},
{
"id": 430700,
"name": "常德市"
},
{
"id": 320400,
"name": "常州市"
},
{
"id": 220100,
"name": "长春市"
},
{
"id": 430100,
"name": "长沙市"
},
{
"id": 140400,
"name": "长治市"
},
{
"id": 211300,
"name": "朝阳市"
},
{
"id": 445100,
"name": "潮州市"
},
{
"id": 431000,
"name": "郴州市"
},
{
"id": 510100,
"name": "成都市"
},
{
"id": 469023,
"name": "澄迈县"
},
{
"id": 130800,
"name": "承德市"
},
{
"id": 341700,
"name": "池州市"
},
{
"id": 150400,
"name": "赤峰市"
},
{
"id": 451400,
"name": "崇左市"
},
{
"id": 341100,
"name": "滁州市"
},
{
"id": 532300,
"name": "楚雄彝族自治州"
},
{
"id": 500100,
"name": "重庆市"
}
]
},
{
"letter": "D",
"data": [
{
"id": 511700,
"name": "达州市"
},
{
"id": 532900,
"name": "大理白族自治州"
},
{
"id": 210200,
"name": "大连市"
},
{
"id": 230600,
"name": "大庆市"
},
{
"id": 140200,
"name": "大同市"
},
{
"id": 232700,
"name": "大兴安岭地区"
},
{
"id": 210600,
"name": "丹东市"
},
{
"id": 533100,
"name": "德宏傣族景颇族自治州"
},
{
"id": 510600,
"name": "德阳市"
},
{
"id": 371400,
"name": "德州市"
},
{
"id": 533400,
"name": "迪庆藏族自治州"
},
{
"id": 469021,
"name": "定安县"
},
{
"id": 621100,
"name": "定西市"
},
{
"id": 469007,
"name": "东方市"
},
{
"id": 370500,
"name": "东营市"
},
{
"id": 441900,
"name": "东莞市"
},
{
"id": 469003,
"name": "儋州市"
},
{
"id": 820200,
"name": "氹仔岛"
}
]
},
{
"letter": "E",
"data": [
{
"id": 150600,
"name": "鄂尔多斯市"
},
{
"id": 420700,
"name": "鄂州市"
},
{
"id": 422800,
"name": "恩施土家族苗族自治州"
}
]
},
{
"letter": "F",
"data": [
{
"id": 450600,
"name": "防城港市"
},
{
"id": 440600,
"name": "佛山市"
},
{
"id": 350100,
"name": "福州市"
},
{
"id": 210400,
"name": "抚顺市"
},
{
"id": 361000,
"name": "抚州市"
},
{
"id": 210900,
"name": "阜新市"
},
{
"id": 341200,
"name": "阜阳市"
}
]
},
{
"letter": "G",
"data": [
{
"id": 623000,
"name": "甘南藏族自治州"
},
{
"id": 513300,
"name": "甘孜藏族自治州"
},
{
"id": 360700,
"name": "赣州市"
},
{
"id": 710200,
"name": "高雄市"
},
{
"id": 640400,
"name": "固原市"
},
{
"id": 511600,
"name": "广安市"
},
{
"id": 510800,
"name": "广元市"
},
{
"id": 440100,
"name": "广州市"
},
{
"id": 450300,
"name": "桂林市"
},
{
"id": 450800,
"name": "贵港市"
},
{
"id": 520100,
"name": "贵阳市"
},
{
"id": 632600,
"name": "果洛藏族自治州"
}
]
},
{
"letter": "H",
"data": [
{
"id": 230100,
"name": "哈尔滨市"
},
{
"id": 652200,
"name": "哈密地区"
},
{
"id": 632200,
"name": "海北藏族自治州"
},
{
"id": 630200,
"name": "海东市"
},
{
"id": 460100,
"name": "海口市"
},
{
"id": 632500,
"name": "海南藏族自治州"
},
{
"id": 632800,
"name": "海西蒙古族藏族自治州"
},
{
"id": 130400,
"name": "邯郸市"
},
{
"id": 610700,
"name": "汉中市"
},
{
"id": 330100,
"name": "杭州市"
},
{
"id": 371700,
"name": "菏泽市"
},
{
"id": 653200,
"name": "和田地区"
},
{
"id": 340100,
"name": "合肥市"
},
{
"id": 451200,
"name": "河池市"
},
{
"id": 441600,
"name": "河源市"
},
{
"id": 410600,
"name": "鹤壁市"
},
{
"id": 230400,
"name": "鹤岗市"
},
{
"id": 451100,
"name": "贺州市"
},
{
"id": 231100,
"name": "黑河市"
},
{
"id": 131100,
"name": "衡水市"
},
{
"id": 430400,
"name": "衡阳市"
},
{
"id": 532500,
"name": "红河哈尼族彝族自治州"
},
{
"id": 150100,
"name": "呼和浩特市"
},
{
"id": 150700,
"name": "呼伦贝尔市"
},
{
"id": 211400,
"name": "葫芦岛市"
},
{
"id": 330500,
"name": "湖州市"
},
{
"id": 713500,
"name": "花莲县"
},
{
"id": 431200,
"name": "怀化市"
},
{
"id": 320800,
"name": "淮安市"
},
{
"id": 340600,
"name": "淮北市"
},
{
"id": 340400,
"name": "淮南市"
},
{
"id": 421100,
"name": "黄冈市"
},
{
"id": 632300,
"name": "黄南藏族自治州"
},
{
"id": 341000,
"name": "黄山市"
},
{
"id": 420200,
"name": "黄石市"
},
{
"id": 441300,
"name": "惠州市"
}
]
},
{
"letter": "I",
"data": []
},
{
"letter": "J",
"data": [
{
"id": 710300,
"name": "基隆市"
},
{
"id": 230300,
"name": "鸡西市"
},
{
"id": 360800,
"name": "吉安市"
},
{
"id": 220200,
"name": "吉林市"
},
{
"id": 370100,
"name": "济南市"
},
{
"id": 370800,
"name": "济宁市"
},
{
"id": 419001,
"name": "济源市"
},
{
"id": 330400,
"name": "嘉兴市"
},
{
"id": 710700,
"name": "嘉义市"
},
{
"id": 713000,
"name": "嘉义县"
},
{
"id": 620200,
"name": "嘉峪关市"
},
{
"id": 230800,
"name": "佳木斯市"
},
{
"id": 440700,
"name": "江门市"
},
{
"id": 410800,
"name": "焦作市"
},
{
"id": 445200,
"name": "揭阳市"
},
{
"id": 620300,
"name": "金昌市"
},
{
"id": 330700,
"name": "金华市"
},
{
"id": 713700,
"name": "金门县"
},
{
"id": 211500,
"name": "金普新区"
},
{
"id": 210700,
"name": "锦州市"
},
{
"id": 140500,
"name": "晋城市"
},
{
"id": 140700,
"name": "晋中市"
},
{
"id": 420800,
"name": "荆门市"
},
{
"id": 421000,
"name": "荆州市"
},
{
"id": 360200,
"name": "景德镇市"
},
{
"id": 360400,
"name": "九江市"
},
{
"id": 810200,
"name": "九龙"
},
{
"id": 620900,
"name": "酒泉市"
}
]
},
{
"letter": "K",
"data": [
{
"id": 653100,
"name": "喀什地区"
},
{
"id": 410200,
"name": "开封市"
},
{
"id": 650200,
"name": "克拉玛依市"
},
{
"id": 653000,
"name": "克孜勒苏柯尔克孜自治州"
},
{
"id": 530100,
"name": "昆明市"
}
]
},
{
"letter": "L",
"data": [
{
"id": 540100,
"name": "拉萨市"
},
{
"id": 371200,
"name": "莱芜市"
},
{
"id": 451300,
"name": "来宾市"
},
{
"id": 620100,
"name": "兰州市"
},
{
"id": 131000,
"name": "廊坊市"
},
{
"id": 469027,
"name": "乐东黎族自治县"
},
{
"id": 511100,
"name": "乐山市"
},
{
"id": 530700,
"name": "丽江市"
},
{
"id": 331100,
"name": "丽水市"
},
{
"id": 713800,
"name": "连江县"
},
{
"id": 320700,
"name": "连云港市"
},
{
"id": 513400,
"name": "凉山彝族自治州"
},
{
"id": 500300,
"name": "两江新区"
},
{
"id": 371500,
"name": "聊城市"
},
{
"id": 211000,
"name": "辽阳市"
},
{
"id": 220400,
"name": "辽源市"
},
{
"id": 542600,
"name": "林芝地区"
},
{
"id": 530900,
"name": "临沧市"
},
{
"id": 141000,
"name": "临汾市"
},
{
"id": 469024,
"name": "临高县"
},
{
"id": 622900,
"name": "临夏回族自治州"
},
{
"id": 371300,
"name": "临沂市"
},
{
"id": 469028,
"name": "陵水黎族自治县"
},
{
"id": 450200,
"name": "柳州市"
},
{
"id": 341500,
"name": "六安市"
},
{
"id": 520200,
"name": "六盘水市"
},
{
"id": 350800,
"name": "龙岩市"
},
{
"id": 621200,
"name": "陇南市"
},
{
"id": 431300,
"name": "娄底市"
},
{
"id": 820300,
"name": "路环岛"
},
{
"id": 141100,
"name": "吕梁市"
},
{
"id": 410300,
"name": "洛阳市"
},
{
"id": 510500,
"name": "泸州市"
},
{
"id": 411100,
"name": "漯河市"
}
]
},
{
"letter": "M",
"data": [
{
"id": 340500,
"name": "马鞍山市"
},
{
"id": 440900,
"name": "茂名市"
},
{
"id": 441400,
"name": "梅州市"
},
{
"id": 511400,
"name": "眉山市"
},
{
"id": 510700,
"name": "绵阳市"
},
{
"id": 712500,
"name": "苗栗县"
},
{
"id": 231000,
"name": "牡丹江市"
}
]
},
{
"letter": "N",
"data": [
{
"id": 542400,
"name": "那曲地区"
},
{
"id": 360100,
"name": "南昌市"
},
{
"id": 511300,
"name": "南充市"
},
{
"id": 320100,
"name": "南京市"
},
{
"id": 450100,
"name": "南宁市"
},
{
"id": 350700,
"name": "南平市"
},
{
"id": 320600,
"name": "南通市"
},
{
"id": 712800,
"name": "南投县"
},
{
"id": 411300,
"name": "南阳市"
},
{
"id": 511000,
"name": "内江市"
},
{
"id": 330200,
"name": "宁波市"
},
{
"id": 350900,
"name": "宁德市"
},
{
"id": 533300,
"name": "怒江傈僳族自治州"
}
]
},
{
"letter": "O",
"data": []
},
{
"letter": "P",
"data": [
{
"id": 510400,
"name": "攀枝花市"
},
{
"id": 211100,
"name": "盘锦市"
},
{
"id": 713600,
"name": "澎湖县"
},
{
"id": 360300,
"name": "萍乡市"
},
{
"id": 410400,
"name": "平顶山市"
},
{
"id": 620800,
"name": "平凉市"
},
{
"id": 713300,
"name": "屏东县"
},
{
"id": 350300,
"name": "莆田市"
},
{
"id": 530800,
"name": "普洱市"
},
{
"id": 410900,
"name": "濮阳市"
}
]
},
{
"letter": "Q",
"data": [
{
"id": 230900,
"name": "七台河市"
},
{
"id": 230200,
"name": "齐齐哈尔市"
},
{
"id": 522600,
"name": "黔东南苗族侗族自治州"
},
{
"id": 522700,
"name": "黔南布依族苗族自治州"
},
{
"id": 522300,
"name": "黔西南布依族苗族自治州"
},
{
"id": 429005,
"name": "潜江市"
},
{
"id": 450700,
"name": "钦州市"
},
{
"id": 130300,
"name": "秦皇岛市"
},
{
"id": 370200,
"name": "青岛市"
},
{
"id": 441800,
"name": "清远市"
},
{
"id": 621000,
"name": "庆阳市"
},
{
"id": 469002,
"name": "琼海市"
},
{
"id": 469030,
"name": "琼中黎族苗族自治县"
},
{
"id": 530300,
"name": "曲靖市"
},
{
"id": 350500,
"name": "泉州市"
},
{
"id": 330800,
"name": "衢州市"
}
]
},
{
"letter": "R",
"data": [
{
"id": 540200,
"name": "日喀则市"
},
{
"id": 371100,
"name": "日照市"
}
]
},
{
"letter": "S",
"data": [
{
"id": 411200,
"name": "三门峡市"
},
{
"id": 350400,
"name": "三明市"
},
{
"id": 460300,
"name": "三沙市"
},
{
"id": 460200,
"name": "三亚市"
},
{
"id": 542200,
"name": "山南地区"
},
{
"id": 440500,
"name": "汕头市"
},
{
"id": 441500,
"name": "汕尾市"
},
{
"id": 611000,
"name": "商洛市"
},
{
"id": 411400,
"name": "商丘市"
},
{
"id": 310100,
"name": "上海市"
},
{
"id": 361100,
"name": "上饶市"
},
{
"id": 440200,
"name": "韶关市"
},
{
"id": 430500,
"name": "邵阳市"
},
{
"id": 330600,
"name": "绍兴市"
},
{
"id": 440300,
"name": "深圳市"
},
{
"id": 429021,
"name": "神农架林区"
},
{
"id": 210100,
"name": "沈阳市"
},
{
"id": 420300,
"name": "十堰市"
},
{
"id": 659001,
"name": "石河子市"
},
{
"id": 130100,
"name": "石家庄市"
},
{
"id": 640200,
"name": "石嘴山市"
},
{
"id": 659007,
"name": "双河市"
},
{
"id": 230500,
"name": "双鸭山市"
},
{
"id": 140600,
"name": "朔州市"
},
{
"id": 220300,
"name": "四平市"
},
{
"id": 220700,
"name": "松原市"
},
{
"id": 320500,
"name": "苏州市"
},
{
"id": 321300,
"name": "宿迁市"
},
{
"id": 341300,
"name": "宿州市"
},
{
"id": 421300,
"name": "随州市"
},
{
"id": 231200,
"name": "绥化市"
},
{
"id": 510900,
"name": "遂宁市"
}
]
},
{
"letter": "T",
"data": [
{
"id": 654200,
"name": "塔城地区"
},
{
"id": 710100,
"name": "台北市"
},
{
"id": 713400,
"name": "台东县"
},
{
"id": 710500,
"name": "台南市"
},
{
"id": 710400,
"name": "台中市"
},
{
"id": 331000,
"name": "台州市"
},
{
"id": 370900,
"name": "泰安市"
},
{
"id": 321200,
"name": "泰州市"
},
{
"id": 140100,
"name": "太原市"
},
{
"id": 130200,
"name": "唐山市"
},
{
"id": 712300,
"name": "桃园县"
},
{
"id": 120100,
"name": "天津市"
},
{
"id": 429006,
"name": "天门市"
},
{
"id": 620500,
"name": "天水市"
},
{
"id": 211200,
"name": "铁岭市"
},
{
"id": 659006,
"name": "铁门关市"
},
{
"id": 220500,
"name": "通化市"
},
{
"id": 150500,
"name": "通辽市"
},
{
"id": 610200,
"name": "铜川市"
},
{
"id": 340700,
"name": "铜陵市"
},
{
"id": 520600,
"name": "铜仁市"
},
{
"id": 659003,
"name": "图木舒克市"
},
{
"id": 652100,
"name": "吐鲁番地区"
},
{
"id": 469022,
"name": "屯昌县"
}
]
},
{
"letter": "U",
"data": []
},
{
"letter": "V",
"data": []
},
{
"letter": "W",
"data": [
{
"id": 469006,
"name": "万宁市"
},
{
"id": 371000,
"name": "威海市"
},
{
"id": 370700,
"name": "潍坊市"
},
{
"id": 610500,
"name": "渭南市"
},
{
"id": 330300,
"name": "温州市"
},
{
"id": 469005,
"name": "文昌市"
},
{
"id": 532600,
"name": "文山壮族苗族自治州"
},
{
"id": 150300,
"name": "乌海市"
},
{
"id": 150900,
"name": "乌兰察布市"
},
{
"id": 650100,
"name": "乌鲁木齐市"
},
{
"id": 320200,
"name": "无锡市"
},
{
"id": 340200,
"name": "芜湖市"
},
{
"id": 450400,
"name": "梧州市"
},
{
"id": 640300,
"name": "吴忠市"
},
{
"id": 420100,
"name": "武汉市"
},
{
"id": 620600,
"name": "武威市"
},
{
"id": 659004,
"name": "五家渠市"
},
{
"id": 469001,
"name": "五指山市"
}
]
},
{
"letter": "X",
"data": [
{
"id": 610100,
"name": "西安市"
},
{
"id": 630100,
"name": "西宁市"
},
{
"id": 532800,
"name": "西双版纳傣族自治州"
},
{
"id": 611100,
"name": "西咸新区"
},
{
"id": 152500,
"name": "锡林郭勒盟"
},
{
"id": 350200,
"name": "厦门市"
},
{
"id": 429004,
"name": "仙桃市"
},
{
"id": 421200,
"name": "咸宁市"
},
{
"id": 610400,
"name": "咸阳市"
},
{
"id": 810100,
"name": "香港岛"
},
{
"id": 420600,
"name": "襄阳市"
},
{
"id": 430300,
"name": "湘潭市"
},
{
"id": 433100,
"name": "湘西土家族苗族自治州"
},
{
"id": 420900,
"name": "孝感市"
},
{
"id": 710800,
"name": "新北市"
},
{
"id": 810300,
"name": "新界"
},
{
"id": 410700,
"name": "新乡市"
},
{
"id": 360500,
"name": "新余市"
},
{
"id": 710600,
"name": "新竹市"
},
{
"id": 712400,
"name": "新竹县"
},
{
"id": 140900,
"name": "忻州市"
},
{
"id": 411500,
"name": "信阳市"
},
{
"id": 152200,
"name": "兴安盟"
},
{
"id": 130500,
"name": "邢台市"
},
{
"id": 320300,
"name": "徐州市"
},
{
"id": 411000,
"name": "许昌市"
},
{
"id": 341800,
"name": "宣城市"
}
]
},
{
"letter": "Y",
"data": [
{
"id": 511800,
"name": "雅安市"
},
{
"id": 370600,
"name": "烟台市"
},
{
"id": 320900,
"name": "盐城市"
},
{
"id": 610600,
"name": "延安市"
},
{
"id": 222400,
"name": "延边朝鲜族自治州"
},
{
"id": 321000,
"name": "扬州市"
},
{
"id": 441700,
"name": "阳江市"
},
{
"id": 140300,
"name": "阳泉市"
},
{
"id": 230700,
"name": "伊春市"
},
{
"id": 654000,
"name": "伊犁哈萨克自治州"
},
{
"id": 511500,
"name": "宜宾市"
},
{
"id": 420500,
"name": "宜昌市"
},
{
"id": 360900,
"name": "宜春市"
},
{
"id": 712200,
"name": "宜兰县"
},
{
"id": 430900,
"name": "益阳市"
},
{
"id": 640100,
"name": "银川市"
},
{
"id": 360600,
"name": "鹰潭市"
},
{
"id": 210800,
"name": "营口市"
},
{
"id": 431100,
"name": "永州市"
},
{
"id": 610800,
"name": "榆林市"
},
{
"id": 450900,
"name": "玉林市"
},
{
"id": 632700,
"name": "玉树藏族自治州"
},
{
"id": 530400,
"name": "玉溪市"
},
{
"id": 430600,
"name": "岳阳市"
},
{
"id": 445300,
"name": "云浮市"
},
{
"id": 712900,
"name": "云林县"
},
{
"id": 140800,
"name": "运城市"
}
]
},
{
"letter": "Z",
"data": [
{
"id": 370400,
"name": "枣庄市"
},
{
"id": 440800,
"name": "湛江市"
},
{
"id": 712700,
"name": "彰化县"
},
{
"id": 350600,
"name": "漳州市"
},
{
"id": 430800,
"name": "张家界市"
},
{
"id": 130700,
"name": "张家口市"
},
{
"id": 620700,
"name": "张掖市"
},
{
"id": 530600,
"name": "昭通市"
},
{
"id": 441200,
"name": "肇庆市"
},
{
"id": 321100,
"name": "镇江市"
},
{
"id": 410100,
"name": "郑州市"
},
{
"id": 442000,
"name": "中山市"
},
{
"id": 640500,
"name": "中卫市"
},
{
"id": 331200,
"name": "舟山群岛新区"
},
{
"id": 330900,
"name": "舟山市"
},
{
"id": 411600,
"name": "周口市"
},
{
"id": 440400,
"name": "珠海市"
},
{
"id": 430200,
"name": "株洲市"
},
{
"id": 411700,
"name": "驻马店市"
},
{
"id": 512000,
"name": "资阳市"
},
{
"id": 370300,
"name": "淄博市"
},
{
"id": 510300,
"name": "自贡市"
},
{
"id": 520300,
"name": "遵义市"
}
]
}
]