首页 > 其他 > 详细

最全省份城市生成代码

时间:2017-11-13 12:36:18      阅读:250      评论:0      收藏:0      [点我收藏+]

1、进入国家统计局官网 查找最新省市区数据

http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201703/t20170310_1471429.html

2、将数据放到txt文件,然后我们可以看到省份都是以 0000  结尾,市都是以 00 结尾,转为Json代码如下

    class Program
    {
        static void Main(string[] args)
        {
            var provinces = new List<Province>();
            var citys = File.ReadAllLines("city.txt",Encoding.UTF8);
            foreach (var c in citys)
            {
                var newc = c.Trim();
                newc = new System.Text.RegularExpressions.Regex("[\\s]+").Replace(newc, " ");
                var citySplit = newc.Split( );
                if (citySplit.Length==2)
                {
                    //如果以 0000  结尾就是省份
                    if (citySplit[0].EndsWith("0000"))
                    {
                        provinces.Add(new Province(){Name = citySplit[1],CityList = new List<CityInfo>()});
                    }else if (citySplit[0].EndsWith("00"))
                    {
                        provinces.Last().CityList.Add(new CityInfo(){Name = citySplit[1],AreaInfo = new List<string>()});
                    }
                    else
                    {
                        provinces.Last().CityList.Last().AreaInfo.Add(citySplit[1]);
                    }
                }
            }
            var jsonProvince = JsonConvert.SerializeObject(provinces);
            Console.ReadLine();
        }
    }

    public class Province
    {
        [JsonProperty("name")]
        public string Name { get; set; }

        [JsonProperty("city")]
        public List<CityInfo> CityList { get; set; }
    }

    public class CityInfo
    {
        [JsonProperty("name")]
        public string Name { get; set; }

        [JsonProperty("area")]
        public List<string> AreaInfo { get; set; }
    }

 

最全省份城市生成代码

原文:http://www.cnblogs.com/ideacore/p/7825390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!