中国天气网城市代码Json数据

城市代码列表的接口:

http://mobile.weather.com.cn/js/citylist.xml

打开控制台里,将citylist.xml请求右键"SAVE AS"保存下来,或者直接用下载工具也行

xml文件里几乎包含了所有国家的城市数据,可以将其他国家的数据过滤掉,只留下中国的数据

于是我用Java处理了一下

String[] province = new String[]{"北京","天津","河北","山西","内蒙古","辽宁","吉林","黑龙江","上海","江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","广西","海南","重庆","四川","贵州","云南","西藏","陕西","甘肃","青海","宁夏","新疆"};
List<String> provinceList = Arrays.asList(province);
File file = new File("citylist.xml");
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(file);
Element rootElement = document.getRootElement();
Element cElement = rootElement.element("c");
List<Map<String, String>> mapList = new ArrayList<>();
for (Iterator it = cElement.elementIterator(); it.hasNext();) {
    Map<String, String> map = new HashMap<>();
    Element element = (Element) it.next();
    String d1 = element.attribute("d1").getValue();
    String d2 = element.attribute("d2").getValue();
    String d3 = element.attribute("d3").getValue();
    String d4 = element.attribute("d4").getValue();
    if (!provinceList.contains(d4)) {
        continue;
    }
    map.put("cityCode", d1);
    map.put("cityName", d2);
    map.put("cityPinyin", d3);
    map.put("province", d4);
    mapList.add(map);
}
Gson gson = new Gson();
String s = gson.toJson(mapList);
System.out.println(s);
FileUtils.writeStringToFile(new File("citylist.json"), s, "utf-8");
生成的Json文件

cn_weather_citylist.json

压缩后的:

cn_weather_citylist_compressed.json

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值