自定义天气WCF服务接口
一、概要:
此天气WCF使用的是中国天气的Json天气数据接口。
另外,由于文章并没有讲解具体的WCF创建过程,所以在文章最后笔者会提供一个笔者自己的完成品以供大家参考。
地址:http://m.weather.com.cn/data/101120201.html
其中101120201就是每个城市的代码。
Json数据的基本结构
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 { 2 "weatherinfo": 3 { 4 //基本信息 5 "city":"青岛", 6 "city_en":"qingdao", 7 "date_y":"2013年4月2日", 8 "date":"","week":"星期二", 9 "fchh":"08", 10 "cityid":"101120201", 11 //未来1到6天的天气信息 12 "temp1":"12℃~4℃","temp2":"13℃~6℃","temp3":"12℃~7℃","temp4":"9℃~3℃","temp5":"7℃~-1℃","temp6":"7℃~2℃", 13 "tempF1":"53.6℉~39.2℉","tempF2":"55.4℉~42.8℉","tempF3":"53.6℉~44.6℉","tempF4":"48.2℉~37.4℉","tempF5":"44.6℉~30.2℉","tempF6":"44.6℉~35.6℉", 14 "weather1":"晴","weather2":"晴转多云","weather3":"多云转阴","weather4":"小雨","weather5":"多云","weather6":"晴", 15 //图片一天两个:白天和今晚,单数白天,双数夜晚 16 "img1":"0","img2":"99","img3":"0","img4":"1","img5":"1","img6":"2", 17 "img7":"7","img8":"99","img9":"1","img10":"99","img11":"0","img12":"99","img_single":"0", 18 "img_title1":"晴","img_title2":"晴","img_title3":"晴","img_title4":"多云","img_title5":"多云","img_title6":"阴", 19 "img_title7":"小雨","img_title8":"小雨","img_title9":"多云","img_title10":"多云","img_title11":"晴","img_title12":"晴","img_title_single":"晴", 20 "wind1":"北风4-5级转南风3-4级","wind2":"南风3-4级","wind3":"东南风3-4级","wind4":"东南风4-5级","wind5":"北风5-6级","wind6":"南风4-5级","fx1":"北风","fx2":"南风", 21 "fl1":"4-5级转3-4级","fl2":"3-4级","fl3":"3-4级","fl4":"4-5级","fl5":"5-6级","fl6":"4-5级", 22 //穿衣指数 23 "index":"较冷", 24 "index_d":"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。", 25 "index48":"较冷", 26 "index48_d":"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。", 27 //紫外线指数 28 "index_uv":"中等", 29 "index48_uv":"中等", 30 //洗车指数 31 "index_xc":"较适宜", 32 //旅游指数 33 "index_tr":"适宜", 34 //舒适指数 35 "index_co":"较舒适", 36 //这个我也不清楚,应该是和舒适指数相关的信息 37 "st1":"11","st2":"3","st3":"12","st4":"4","st5":"12","st6":"4", 38 //晨练指数 39 "index_cl":"较适宜", 40 //晾晒指数 41 "index_ls":"基本适宜", 42 //过敏指数 43 "index_ag":"极易发" 44 } 45 }
使用此接口的优点是比较稳定,信息也比较准确。缺点是比较容易找到的城市代号目前只有省级市的,像一些县级市只能根据情况自己添加了。(最后笔者会提供一个Json结构的城市列表)
实现此天气的WCF服务,主要可分为四个功能:
1、根据IP获取用户的所有省份和城市。(如果需要自动识别用户地理位置返回天气情况的话)
4、获取此服务所有支持的城市。(此功能作为附加,更方便使用者)
二、数据结构
1、城市基本天气信息
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 城市基本天气信息 3 /// </summary> 4 public class WeatherInformation 5 { 6 string city = string.Empty; 7 [DataMember] 8 /// <summary> 9 /// 中文城市名称 10 /// </summary> 11 public string City 12 { 13 get { return city; } 14 set { city = value; } 15 } 16 17 string cityEn = string.Empty; 18 [DataMember] 19 /// <summary> 20 /// 英文城市名称 21 /// </summary> 22 public string CityEn 23 { 24 get { return cityEn; } 25 set { cityEn = value; } 26 } 27 28 string date = string.Empty; 29 [DataMember] 30 /// <summary> 31 /// 中文日期 32 /// </summary> 33 public string Date 34 { 35 get { return date; } 36 set { date = value; } 37 } 38 39 string dateEn = string.Empty; 40 [DataMember] 41 /// <summary> 42 /// 英文日期 43 /// </summary> 44 public string DateEn 45 { 46 get { return dateEn; } 47 set { dateEn = value; } 48 } 49 50 string week = string.Empty; 51 [DataMember] 52 /// <summary> 53 /// 中文星期 54 /// </summary> 55 public string Week 56 { 57 get { return week; } 58 set { week = value; } 59 } 60 61 string weekEn = string.Empty; 62 [DataMember] 63 /// <summary> 64 /// 英文星期 65 /// </summary> 66 public string WeekEn 67 { 68 get { return weekEn; } 69 set { weekEn = value; } 70 } 71 72 string published = string.Empty; 73 [DataMember] 74 /// <summary> 75 /// 发布时间 76 /// </summary> 77 public string Published 78 { 79 get { return published; } 80 set { published = value; } 81 } 82 83 string cityCode = string.Empty; 84 [DataMember] 85 /// <summary> 86 /// 城市代码 87 /// </summary> 88 public string CityCode 89 { 90 get { return cityCode; } 91 set { cityCode = value; } 92 } 93 94 List<Weather> weatherForecast = new List<Weather>(); 95 [DataMember] 96 /// <summary> 97 /// 表示从今天开始连续6天的天气情况 98 /// </summary> 99 public List<Weather> WeatherForecast 100 { 101 get { return weatherForecast; } 102 set { weatherForecast = value; } 103 } 104 105 string dressingIndex24 = string.Empty; 106 [DataMember] 107 /// <summary> 108 /// 24小时穿衣指数 109 /// </summary> 110 public string DressingIndex24 111 { 112 get { return dressingIndex24; } 113 set { dressingIndex24 = value; } 114 } 115 116 string dressingIndexDescription24 = string.Empty; 117 [DataMember] 118 /// <summary> 119 /// 24小时穿衣指数描述信息 120 /// </summary> 121 public string DressingIndexDescription24 122 { 123 get { return dressingIndexDescription24; } 124 set { dressingIndexDescription24 = value; } 125 } 126 127 string dressingIndex48 = string.Empty; 128 [DataMember] 129 /// <summary> 130 /// 48小时穿衣指数 131 /// </summary> 132 public string DressingIndex48 133 { 134 get { return dressingIndex48; } 135 set { dressingIndex48 = value; } 136 } 137 138 string dressingIndexDescription48 = string.Empty; 139 [DataMember] 140 /// <summary> 141 /// 48小时穿衣指数描述 142 /// </summary> 143 public string DressingIndexDescription48 144 { 145 get { return dressingIndexDescription48; } 146 set { dressingIndexDescription48 = value; } 147 } 148 149 string UVindex24 = string.Empty; 150 [DataMember] 151 /// <summary> 152 /// 24小时紫外线指数 153 /// </summary> 154 public string UVIndex24 155 { 156 get { return UVindex24; } 157 set { UVindex24 = value; } 158 } 159 160 string UVindex48 = string.Empty; 161 [DataMember] 162 /// <summary> 163 /// 48小时紫外线指数 164 /// </summary> 165 public string UVIndex48 166 { 167 get { return UVindex48; } 168 set { UVindex48 = value; } 169 } 170 171 string carWashIndex = string.Empty; 172 [DataMember] 173 /// <summary> 174 /// 洗车指数 175 /// </summary> 176 public string CarWashIndex 177 { 178 get { return carWashIndex; } 179 set { carWashIndex = value; } 180 } 181 182 string turismIndex = string.Empty; 183 [DataMember] 184 /// <summary> 185 /// 旅游指数 186 /// </summary> 187 public string TurismIndex 188 { 189 get { return turismIndex; } 190 set { turismIndex = value; } 191 } 192 193 string comfortIndex = string.Empty; 194 [DataMember] 195 /// <summary> 196 /// 舒适指数 197 /// </summary> 198 public string ComfortIndex 199 { 200 get { return comfortIndex; } 201 set { comfortIndex = value; } 202 } 203 204 string morningExerciseIndex = string.Empty; 205 [DataMember] 206 /// <summary> 207 /// 晨练指数 208 /// </summary> 209 public string MorningExerciseIndex 210 { 211 get { return morningExerciseIndex; } 212 set { morningExerciseIndex = value; } 213 } 214 215 string dryingIndex = string.Empty; 216 [DataMember] 217 /// <summary> 218 /// 晾晒指数 219 /// </summary> 220 public string DryingIndex 221 { 222 get { return dryingIndex; } 223 set { dryingIndex = value; } 224 } 225 226 string allergyIndex = string.Empty; 227 [DataMember] 228 /// <summary> 229 /// 过敏指数 230 /// </summary> 231 public string AllergyIndex 232 { 233 get { return allergyIndex; } 234 set { allergyIndex = value; } 235 } 236 }
2、天气实体类
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 天气实体类 3 /// </summary> 4 public class Weather 5 { 6 string celsius = string.Empty; 7 [DataMember] 8 /// <summary> 9 /// 摄氏温度 10 /// </summary> 11 public string Celsius 12 { 13 get { return celsius; } 14 set { celsius = value; } 15 } 16 17 string fahrenheit = string.Empty; 18 [DataMember] 19 /// <summary> 20 /// 华氏温度 21 /// </summary> 22 public string Fahrenheit 23 { 24 get { return fahrenheit; } 25 set { fahrenheit = value; } 26 } 27 28 string weatherDescription = string.Empty; 29 [DataMember] 30 /// <summary> 31 /// 天气描述 32 /// </summary> 33 public string WeatherDescription 34 { 35 get { return weatherDescription; } 36 set { weatherDescription = value; } 37 } 38 39 string weatherImageNo = string.Empty; 40 [DataMember] 41 /// <summary> 42 /// 天气描述图片序号 43 /// </summary> 44 public string WeatherImageNo 45 { 46 get { return weatherImageNo; } 47 set { weatherImageNo = value; } 48 } 49 50 string imageTitle = string.Empty; 51 [DataMember] 52 /// <summary> 53 /// 图片名称 54 /// </summary> 55 public string ImageTitle 56 { 57 get { return imageTitle; } 58 set { imageTitle = value; } 59 } 60 61 string windDescription = string.Empty; 62 [DataMember] 63 /// <summary> 64 /// 风速描述 65 /// </summary> 66 public string WindDescription 67 { 68 get { return windDescription; } 69 set { windDescription = value; } 70 } 71 72 string windSpeedLevel = string.Empty; 73 [DataMember] 74 /// <summary> 75 /// 风速级别描述 76 /// </summary> 77 public string WindSpeedLevel 78 { 79 get { return windSpeedLevel; } 80 set { windSpeedLevel = value; } 81 } 82 }
三、实现
配置的Web.config
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <appSettings> 2 <!--根据IP获取城市的网址--> 3 <add key = "GetCityByIP" value = "http://pv.sohu.com/cityjson"/> 4 <!--获取天气的网址--> 5 <add key = "GetWeather" value = "http://m.weather.com.cn/data/{0}.html"/> 6 </appSettings>
本文解析Json使用的是开源的类库Newtonsoft.Json(下载地址http://json.codeplex.com/)
通过WebClient的DownloadString()访问网址下载数据并解析,获取城市。这种接口网上还是比较多的,此处采用的是搜狐的:http://pv.sohu.com/cityjson
详细实现如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 根据IP返回IP所在城市 3 /// </summary> 4 /// <returns></returns> 5 public string GetCityName() 6 { 7 string url = ConfigurationManager.AppSettings["GetCityByIP"]; 8 WebClient wc = new WebClient(); 9 string cityJson = string.Empty; 10 string provincesAndCity = string.Empty; 11 string provinces = string.Empty; 12 string city = string.Empty; 13 try 14 { 15 cityJson = wc.DownloadString(url); 16 cityJson = cityJson.Replace("var returnCitySN = ", ""); 17 cityJson = cityJson.Replace(";", ""); 18 JObject JObjtCity = (JObject)JsonConvert.DeserializeObject(cityJson); 19 provincesAndCity = JObjtCity["cname"].ToString(); 20 21 provinces = provincesAndCity.Substring(0, provincesAndCity.IndexOf("省") + 1); 22 city = provincesAndCity.Substring(provincesAndCity.IndexOf("省") + 1); 23 } 24 catch (Exception) 25 { 26 throw new FaultException<Exception>(new Exception(), new Exception().Message); 27 } 28 return provincesAndCity; 29 }
城市列表可以以变量形式存在内存中,但最好还是存在文件中比较好日后扩展也相对好方便许多。
详细实现如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 根据城市名称返回城市代号 3 /// 城市名称可以有多种形式,如: 4 /// 青岛 5 /// 青岛市 6 /// 山东青岛 7 /// 山东青岛市 8 /// 山东省青岛市 9 /// </summary> 10 /// <param name="cityName">城市名称</param> 11 /// <returns></returns> 12 private string GetCityCode(string cityName) 13 { 14 StreamReader sr = File.OpenText(AppDomain.CurrentDomain.RelativeSearchPath + @"\CityCode.Json.txt"); 15 string strCityCodeJson = sr.ReadToEnd(); 16 JObject JObjtCityCode = (JObject)JsonConvert.DeserializeObject(strCityCodeJson); 17 bool isFound = false; 18 string cityCode = string.Empty; 19 for (int i = 0; i < JObjtCityCode["城市代码"].Count(); i++) 20 { 21 for (int j = 0; j < JObjtCityCode["城市代码"][i]["市"].Count(); j++) 22 { 23 //此为了实现多种城市形式匹配,所以添加多个判断 24 if (JObjtCityCode["城市代码"][i]["市"][j]["市名"].ToString() == cityName 25 || String.Format("{0}市", JObjtCityCode["城市代码"][i]["市"][j]["市名"].ToString()) == cityName 26 || String.Format("{0}{1}", JObjtCityCode["城市代码"][i]["省"].ToString(), JObjtCityCode["城市代码"][i]["市"][j]["市名"].ToString()) == cityName 27 || String.Format("{0}{1}市", JObjtCityCode["城市代码"][i]["省"].ToString(), JObjtCityCode["城市代码"][i]["市"][j]["市名"].ToString()) == cityName 28 || String.Format("{0}省{1}", JObjtCityCode["城市代码"][i]["省"].ToString(), JObjtCityCode["城市代码"][i]["市"][j]["市名"].ToString()) == cityName 29 || String.Format("{0}省{1}市", JObjtCityCode["城市代码"][i]["省"].ToString(), JObjtCityCode["城市代码"][i]["市"][j]["市名"].ToString()) == cityName) 30 { 31 cityCode = JObjtCityCode["城市代码"][i]["市"][j]["编码"].ToString(); 32 isFound = true; 33 break; 34 } 35 isFound = false; 36 } 37 if (isFound) 38 break; 39 } 40 return cityCode; 41 }
详细实现如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 根据城市名称返回城市天气情况 3 /// 城市名称可以有多种形式,如: 4 /// 青岛 5 /// 青岛市 6 /// 山东青岛 7 /// 山东青岛市 8 /// 山东省青岛市 9 /// </summary> 10 /// <param name="cityName">城市名称</param> 11 /// <returns></returns> 12 public WeatherInformation GetWeatherByCityName(string cityName) 13 { 14 string cityCode = this.GetCityCode(cityName); 15 if (cityCode == string.Empty) 16 return null; 17 string url = ConfigurationManager.AppSettings["GetWeather"]; 18 WebClient wc = new WebClient(); 19 string weatherJson = string.Empty; 20 WeatherInformation weatherInfomation = new WeatherInformation(); 21 try 22 { 23 wc.Encoding = Encoding.UTF8; 24 weatherJson = wc.DownloadString(String.Format(url, cityCode)); 25 JObject JObjtWeather = (JObject)JsonConvert.DeserializeObject(weatherJson); 26 JObjtWeather = (JObject)JObjtWeather["weatherinfo"]; 27 weatherInfomation.City = JObjtWeather["city"].ToString(); 28 weatherInfomation.CityEn = JObjtWeather["city_en"].ToString(); 29 weatherInfomation.Date = JObjtWeather["date_y"].ToString(); 30 weatherInfomation.DateEn = DateTime.Now.ToString("yyyy-MM-dd"); 31 weatherInfomation.Week = JObjtWeather["week"].ToString(); 32 weatherInfomation.WeekEn = this.GetWeekEn(weatherInfomation.Week); 33 weatherInfomation.Published = JObjtWeather["fchh"].ToString(); 34 weatherInfomation.CityCode = JObjtWeather["cityid"].ToString(); 35 /***************从今天开始到第6天天气情况*************************/ 36 for (int i = 1; i < 7; i ++) 37 { 38 Weather weather = new Weather(); 39 weather.Celsius = JObjtWeather[String.Format("temp{0}", i)].ToString(); 40 weather.Fahrenheit = JObjtWeather[String.Format("tempF{0}", i)].ToString(); 41 weather.WeatherDescription = JObjtWeather[String.Format("weather{0}", i)].ToString(); 42 //此处使用(i*2)-1 因为“中国天气”中显示图标方式是每天两个:白天和夜晚,而此处只取了白天的 43 weather.WeatherImageNo = JObjtWeather[String.Format("img{0}", (i * 2) -1)].ToString(); 44 weather.ImageTitle = JObjtWeather[String.Format("img_title{0}", (i * 2) - 1)].ToString(); 45 weather.WindDescription = JObjtWeather[String.Format("wind{0}", i)].ToString(); 46 weather.WindSpeedLevel = JObjtWeather[String.Format("fl{0}", i)].ToString(); 47 weatherInfomation.WeatherForecast.Add(weather); 48 } 49 /****************************************************************/ 50 weatherInfomation.DressingIndex24 = JObjtWeather["index"].ToString(); 51 weatherInfomation.DressingIndexDescription24 = JObjtWeather["index_d"].ToString(); 52 weatherInfomation.DressingIndex48 = JObjtWeather["index48"].ToString(); 53 weatherInfomation.DressingIndexDescription48 = JObjtWeather["index48_d"].ToString(); 54 weatherInfomation.UVIndex24 = JObjtWeather["index_uv"].ToString(); 55 weatherInfomation.UVIndex48 = JObjtWeather["index48_uv"].ToString(); 56 weatherInfomation.CarWashIndex = JObjtWeather["index_xc"].ToString(); 57 weatherInfomation.TurismIndex = JObjtWeather["index_tr"].ToString(); 58 weatherInfomation.ComfortIndex = JObjtWeather["index_co"].ToString(); 59 weatherInfomation.MorningExerciseIndex = JObjtWeather["index_cl"].ToString(); 60 weatherInfomation.DryingIndex = JObjtWeather["index_ls"].ToString(); 61 weatherInfomation.AllergyIndex = JObjtWeather["index_ag"].ToString(); 62 } 63 catch(Exception e) 64 { 65 throw new FaultException<Exception>(e, e.Message); 66 } 67 return weatherInfomation; 68 }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 根据给定中文星期返回英文星期名称 3 /// </summary> 4 /// <param name="week">中文星期</param> 5 /// <returns></returns> 6 private string GetWeekEn(string week) 7 { 8 switch (week) 9 { 10 case "星期一": 11 return "Monday"; 12 case "星期二": 13 return "Tuesday"; 14 case "星期三": 15 return "Wednesday"; 16 case "星期四": 17 return "Thursday"; 18 case "星期五": 19 return "Friday"; 20 case "星期六": 21 return "Saturday"; 22 case "星期天": 23 return "Sunday"; 24 } 25 return "Sunday"; 26 }
此功能依然是读取城市列表,返回所有已添加的城市,这样更加方便调用者
详细实现如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /// <summary> 2 /// 根据IP返回IP所在城市 3 /// </summary> 4 /// <returns></returns> 5 public string GetCityName() 6 { 7 string url = ConfigurationManager.AppSettings["GetCityByIP"]; 8 WebClient wc = new WebClient(); 9 string cityJson = string.Empty; 10 string provincesAndCity = string.Empty; 11 string provinces = string.Empty; 12 string city = string.Empty; 13 try 14 { 15 cityJson = wc.DownloadString(url); 16 cityJson = cityJson.Replace("var returnCitySN = ", ""); 17 cityJson = cityJson.Replace(";", ""); 18 JObject JObjtCity = (JObject)JsonConvert.DeserializeObject(cityJson); 19 provincesAndCity = JObjtCity["cname"].ToString(); 20 21 provinces = provincesAndCity.Substring(0, provincesAndCity.IndexOf("省") + 1); 22 city = provincesAndCity.Substring(provincesAndCity.IndexOf("省") + 1); 23 } 24 catch (Exception) 25 { 26 throw new FaultException<Exception>(new Exception(), new Exception().Message); 27 } 28 return provincesAndCity; 29 }
四、附录
CityCode.Json.txt
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 { 2 "城市代码": [ 3 { 4 "省": "北京", 5 "市": [ 6 { 7 "市名": "北京", 8 "编码": "101010100" 9 }, 10 { 11 "市名": "朝阳", 12 "编码": "101010300" 13 }, 14 { 15 "市名": "顺义", 16 "编码": "101010400" 17 }, 18 { 19 "市名": "怀柔", 20 "编码": "101010500" 21 }, 22 { 23 "市名": "通州", 24 "编码": "101010600" 25 }, 26 { 27 "市名": "昌平", 28 "编码": "101010700" 29 }, 30 { 31 "市名": "延庆", 32 "编码": "101010800" 33 }, 34 { 35 "市名": "丰台", 36 "编码": "101010900" 37 }, 38 { 39 "市名": "石景山", 40 "编码": "101011000" 41 }, 42 { 43 "市名": "大兴", 44 "编码": "101011100" 45 }, 46 { 47 "市名": "房山", 48 "编码": "101011200" 49 }, 50 { 51 "市名": "密云", 52 "编码": "101011300" 53 }, 54 { 55 "市名": "门头沟", 56 "编码": "101011400" 57 }, 58 { 59 "市名": "平谷", 60 "编码": "101011500" 61 }, 62 { 63 "市名": "八达岭", 64 "编码": "101011600" 65 }, 66 { 67 "市名": "佛爷顶", 68 "编码": "101011700" 69 }, 70 { 71 "市名": "汤河口", 72 "编码": "101011800" 73 }, 74 { 75 "市名": "密云上甸子", 76 "编码": "101011900" 77 }, 78 { 79 "市名": "斋堂", 80 "编码": "101012000" 81 }, 82 { 83 "市名": "霞云岭", 84 "编码": "101012100" 85 }, 86 { 87 "市名": "北京城区", 88 "编码": "101012200" 89 }, 90 { 91 "市名": "海淀", 92 "编码": "101010200" 93 } 94 ] 95 }, 96 { 97 "省": "天津", 98 "市": [ 99 { 100 "市名": "天津", 101 "编码": "101030100" 102 }, 103 { 104 "市名": "宝坻", 105 "编码": "101030300" 106 }, 107 { 108 "市名": "东丽", 109 "编码": "101030400" 110 }, 111 { 112 "市名": "西青", 113 "编码": "101030500" 114 }, 115 { 116 "市名": "北辰", 117 "编码": "101030600" 118 }, 119 { 120 "市名": "蓟县", 121 "编码": "101031400" 122 }, 123 { 124 "市名": "汉沽", 125 "编码": "101030800" 126 }, 127 { 128 "市名": "静海", 129 "编码": "101030900" 130 }, 131 { 132 "市名": "津南", 133 "编码": "101031000" 134 }, 135 { 136 "市名": "塘沽", 137 "编码": "101031100" 138 }, 139 { 140 "市名": "大港", 141 "编码": "101031200" 142 }, 143 { 144 "市名": "武清", 145 "编码": "101030200" 146 }, 147 { 148 "市名": "宁河", 149 "编码": "101030700" 150 } 151 ] 152 }, 153 { 154 "省": "上海", 155 "市": [ 156 { 157 "市名": "上海", 158 "编码": "101020100" 159 }, 160 { 161 "市名": "宝山", 162 "编码": "101020300" 163 }, 164 { 165 "市名": "嘉定", 166 "编码": "101020500" 167 }, 168 { 169 "市名": "南汇", 170 "编码": "101020600" 171 }, 172 { 173 "市名": "浦东", 174 "编码": "101021300" 175 }, 176 { 177 "市名": "青浦", 178 "编码": "101020800" 179 }, 180 { 181 "市名": "松江", 182 "编码": "101020900" 183 }, 184 { 185 "市名": "奉贤", 186 "编码": "101021000" 187 }, 188 { 189 "市名": "崇明", 190 "编码": "101021100" 191 }, 192 { 193 "市名": "徐家汇", 194 "编码": "101021200" 195 }, 196 { 197 "市名": "闵行", 198 "编码": "101020200" 199 }, 200 { 201 "市名": "金山", 202 "编码": "101020700" 203 } 204 ] 205 }, 206 { 207 "省": "河北", 208 "市": [ 209 { 210 "市名": "石家庄", 211 "编码": "101090101" 212 }, 213 { 214 "市名": "张家口", 215 "编码": "101090301" 216 }, 217 { 218 "市名": "承德", 219 "编码": "101090402" 220 }, 221 { 222 "市名": "唐山", 223 "编码": "101090501" 224 }, 225 { 226 "市名": "秦皇岛", 227 "编码": "101091101" 228 }, 229 { 230 "市名": "沧州", 231 "编码": "101090701" 232 }, 233 { 234 "市名": "衡水", 235 "编码": "101090801" 236 }, 237 { 238 "市名": "邢台", 239 "编码": "101090901" 240 }, 241 { 242 "市名": "邯郸", 243 "编码": "101091001" 244 }, 245 { 246 "市名": "保定", 247 "编码": "101090201" 248 }, 249 { 250 "市名": "廊坊", 251 "编码": "101090601" 252 } 253 ] 254 }, 255 { 256 "省": "河南", 257 "市": [ 258 { 259 "市名": "郑州", 260 "编码": "101180101" 261 }, 262 { 263 "市名": "新乡", 264 "编码": "101180301" 265 }, 266 { 267 "市名": "许昌", 268 "编码": "101180401" 269 }, 270 { 271 "市名": "平顶山", 272 "编码": "101180501" 273 }, 274 { 275 "市名": "信阳", 276 "编码": "101180601" 277 }, 278 { 279 "市名": "南阳", 280 "编码": "101180701" 281 }, 282 { 283 "市名": "开封", 284 "编码": "101180801" 285 }, 286 { 287 "市名": "洛阳", 288 "编码": "101180901" 289 }, 290 { 291 "市名": "商丘", 292 "编码": "101181001" 293 }, 294 { 295 "市名": "焦作", 296 "编码": "101181101" 297 }, 298 { 299 "市名": "鹤壁", 300 "编码": "101181201" 301 }, 302 { 303 "市名": "濮阳", 304 "编码": "101181301" 305 }, 306 { 307 "市名": "周口", 308 "编码": "101181401" 309 }, 310 { 311 "市名": "漯河", 312 "编码": "101181501" 313 }, 314 { 315 "市名": "驻马店", 316 "编码": "101181601" 317 }, 318 { 319 "市名": "三门峡", 320 "编码": "101181701" 321 }, 322 { 323 "市名": "济源", 324 "编码": "101181801" 325 }, 326 { 327 "市名": "安阳", 328 "编码": "101180201" 329 } 330 ] 331 }, 332 { 333 "省": "安徽", 334 "市": [ 335 { 336 "市名": "合肥", 337 "编码": "101220101" 338 }, 339 { 340 "市名": "芜湖", 341 "编码": "101220301" 342 }, 343 { 344 "市名": "淮南", 345 "编码": "101220401" 346 }, 347 { 348 "市名": "马鞍山", 349 "编码": "101220501" 350 }, 351 { 352 "市名": "安庆", 353 "编码": "101220601" 354 }, 355 { 356 "市名": "宿州", 357 "编码": "101220701" 358 }, 359 { 360 "市名": "阜阳", 361 "编码": "101220801" 362 }, 363 { 364 "市名": "亳州", 365 "编码": "101220901" 366 }, 367 { 368 "市名": "黄山", 369 "编码": "101221001" 370 }, 371 { 372 "市名": "滁州", 373 "编码": "101221101" 374 }, 375 { 376 "市名": "淮北", 377 "编码": "101221201" 378 }, 379 { 380 "市名": "铜陵", 381 "编码": "101221301" 382 }, 383 { 384 "市名": "宣城", 385 "编码": "101221401" 386 }, 387 { 388 "市名": "六安", 389 "编码": "101221501" 390 }, 391 { 392 "市名": "巢湖", 393 "编码": "101221601" 394 }, 395 { 396 "市名": "池州", 397 "编码": "101221701" 398 }, 399 { 400 "市名": "蚌埠", 401 "编码": "101220201" 402 } 403 ] 404 }, 405 { 406 "省": "浙江", 407 "市": [ 408 { 409 "市名": "杭州", 410 "编码": "101210101" 411 }, 412 { 413 "市名": "舟山", 414 "编码": "101211101" 415 }, 416 { 417 "市名": "湖州", 418 "编码": "101210201" 419 }, 420 { 421 "市名": "嘉兴", 422 "编码": "101210301" 423 }, 424 { 425 "市名": "金华", 426 "编码": "101210901" 427 }, 428 { 429 "市名": "绍兴", 430 "编码": "101210501" 431 }, 432 { 433 "市名": "台州", 434 "编码": "101210601" 435 }, 436 { 437 "市名": "温州", 438 "编码": "101210701" 439 }, 440 { 441 "市名": "丽水", 442 "编码": "101210801" 443 }, 444 { 445 "市名": "衢州", 446 "编码": "101211001" 447 }, 448 { 449 "市名": "宁波", 450 "编码": "101210401" 451 } 452 ] 453 }, 454 { 455 "省": "重庆", 456 "市": [ 457 { 458 "市名": "重庆", 459 "编码": "101040100" 460 }, 461 { 462 "市名": "合川", 463 "编码": "101040300" 464 }, 465 { 466 "市名": "南川", 467 "编码": "101040400" 468 }, 469 { 470 "市名": "江津", 471 "编码": "101040500" 472 }, 473 { 474 "市名": "万盛", 475 "编码": "101040600" 476 }, 477 { 478 "市名": "渝北", 479 "编码": "101040700" 480 }, 481 { 482 "市名": "北碚", 483 "编码": "101040800" 484 }, 485 { 486 "市名": "巴南", 487 "编码": "101040900" 488 }, 489 { 490 "市名": "长寿", 491 "编码": "101041000" 492 }, 493 { 494 "市名": "黔江", 495 "编码": "101041100" 496 }, 497 { 498 "市名": "万州天城", 499 "编码": "101041200" 500 }, 501 { 502 "市名": "万州龙宝", 503 "编码": "101041300" 504 }, 505 { 506 "市名": "涪陵", 507 "编码": "101041400" 508 }, 509 { 510 "市名": "开县", 511 "编码": "101041500" 512 }, 513 { 514 "市名": "城口", 515 "编码": "101041600" 516 }, 517 { 518 "市名": "云阳", 519 "编码": "101041700" 520 }, 521 { 522 "市名": "巫溪", 523 "编码": "101041800" 524 }, 525 { 526 "市名": "奉节", 527 "编码": "101041900" 528 }, 529 { 530 "市名": "巫山", 531 "编码": "101042000" 532 }, 533 { 534 "市名": "潼南", 535 "编码": "101042100" 536 }, 537 { 538 "市名": "垫江", 539 "编码": "101042200" 540 }, 541 { 542 "市名": "梁平", 543 "编码": "101042300" 544 }, 545 { 546 "市名": "忠县", 547 "编码": "101042400" 548 }, 549 { 550 "市名": "石柱", 551 "编码": "101042500" 552 }, 553 { 554 "市名": "大足", 555 "编码": "101042600" 556 }, 557 { 558 "市名": "荣昌", 559 "编码": "101042700" 560 }, 561 { 562 "市名": "铜梁", 563 "编码": "101042800" 564 }, 565 { 566 "市名": "璧山", 567 "编码": "101042900" 568 }, 569 { 570 "市名": "丰都", 571 "编码": "101043000" 572 }, 573 { 574 "市名": "武隆", 575 "编码": "101043100" 576 }, 577 { 578 "市名": "彭水", 579 "编码": "101043200" 580 }, 581 { 582 "市名": "綦江", 583 "编码": "101043300" 584 }, 585 { 586 "市名": "酉阳", 587 "编码": "101043400" 588 }, 589 { 590 "市名": "秀山", 591 "编码": "101043600" 592 }, 593 { 594 "市名": "沙坪坝", 595 "编码": "101043700" 596 }, 597 { 598 "市名": "永川", 599 "编码": "101040200" 600 } 601 ] 602 }, 603 { 604 "省": "福建", 605 "市": [ 606 { 607 "市名": "福州", 608 "编码": "101230101" 609 }, 610 { 611 "市名": "泉州", 612 "编码": "101230501" 613 }, 614 { 615 "市名": "漳州", 616 "编码": "101230601" 617 }, 618 { 619 "市名": "龙岩", 620 "编码": "101230701" 621 }, 622 { 623 "市名": "晋江", 624 "编码": "101230509" 625 }, 626 { 627 "市名": "南平", 628 "编码": "101230901" 629 }, 630 { 631 "市名": "厦门", 632 "编码": "101230201" 633 }, 634 { 635 "市名": "宁德", 636 "编码": "101230301" 637 }, 638 { 639 "市名": "莆田", 640 "编码": "101230401" 641 }, 642 { 643 "市名": "三明", 644 "编码": "101230801" 645 } 646 ] 647 }, 648 { 649 "省": "甘肃", 650 "市": [ 651 { 652 "市名": "兰州", 653 "编码": "101160101" 654 }, 655 { 656 "市名": "平凉", 657 "编码": "101160301" 658 }, 659 { 660 "市名": "庆阳", 661 "编码": "101160401" 662 }, 663 { 664 "市名": "武威", 665 "编码": "101160501" 666 }, 667 { 668 "市名": "金昌", 669 "编码": "101160601" 670 }, 671 { 672 "市名": "嘉峪关", 673 "编码": "101161401" 674 }, 675 { 676 "市名": "酒泉", 677 "编码": "101160801" 678 }, 679 { 680 "市名": "天水", 681 "编码": "101160901" 682 }, 683 { 684 "市名": "武都", 685 "编码": "101161001" 686 }, 687 { 688 "市名": "临夏", 689 "编码": "101161101" 690 }, 691 { 692 "市名": "合作", 693 "编码": "101161201" 694 }, 695 { 696 "市名": "白银", 697 "编码": "101161301" 698 }, 699 { 700 "市名": "定西", 701 "编码": "101160201" 702 }, 703 { 704 "市名": "张掖", 705 "编码": "101160701" 706 } 707 ] 708 }, 709 { 710 "省": "广东", 711 "市": [ 712 { 713 "市名": "广州", 714 "编码": "101280101" 715 }, 716 { 717 "市名": "惠州", 718 "编码": "101280301" 719 }, 720 { 721 "市名": "梅州", 722 "编码": "101280401" 723 }, 724 { 725 "市名": "汕头", 726 "编码": "101280501" 727 }, 728 { 729 "市名": "深圳", 730 "编码": "101280601" 731 }, 732 { 733 "市名": "珠海", 734 "编码": "101280701" 735 }, 736 { 737 "市名": "佛山", 738 "编码": "101280800" 739 }, 740 { 741 "市名": "肇庆", 742 "编码": "101280901" 743 }, 744 { 745 "市名": "湛江", 746 "编码": "101281001" 747 }, 748 { 749 "市名": "江门", 750 "编码": "101281101" 751 }, 752 { 753 "市名": "河源", 754 "编码": "101281201" 755 }, 756 { 757 "市名": "清远", 758 "编码": "101281301" 759 }, 760 { 761 "市名": "云浮", 762 "编码": "101281401" 763 }, 764 { 765 "市名": "潮州", 766 "编码": "101281501" 767 }, 768 { 769 "市名": "东莞", 770 "编码": "101281601" 771 }, 772 { 773 "市名": "中山", 774 "编码": "101281701" 775 }, 776 { 777 "市名": "阳江", 778 "编码": "101281801" 779 }, 780 { 781 "市名": "揭阳", 782 "编码": "101281901" 783 }, 784 { 785 "市名": "茂名", 786 "编码": "101282001" 787 }, 788 { 789 "市名": "汕尾", 790 "编码": "101282101" 791 }, 792 { 793 "市名": "韶关", 794 "编码": "101280201" 795 } 796 ] 797 }, 798 { 799 "省": "广西", 800 "市": [ 801 { 802 "市名": "南宁", 803 "编码": "101300101" 804 }, 805 { 806 "市名": "柳州", 807 "编码": "101300301" 808 }, 809 { 810 "市名": "来宾", 811 "编码": "101300401" 812 }, 813 { 814 "市名": "桂林", 815 "编码": "101300501" 816 }, 817 { 818 "市名": "梧州", 819 "编码": "101300601" 820 }, 821 { 822 "市名": "防城港", 823 "编码": "101301401" 824 }, 825 { 826 "市名": "贵港", 827 "编码": "101300801" 828 }, 829 { 830 "市名": "玉林", 831 "编码": "101300901" 832 }, 833 { 834 "市名": "百色", 835 "编码": "101301001" 836 }, 837 { 838 "市名": "钦州", 839 "编码": "101301101" 840 }, 841 { 842 "市名": "河池", 843 "编码": "101301201" 844 }, 845 { 846 "市名": "北海", 847 "编码": "101301301" 848 }, 849 { 850 "市名": "崇左", 851 "编码": "101300201" 852 }, 853 { 854 "市名": "贺州", 855 "编码": "101300701" 856 } 857 ] 858 }, 859 { 860 "省": "贵州", 861 "市": [ 862 { 863 "市名": "贵阳", 864 "编码": "101260101" 865 }, 866 { 867 "市名": "安顺", 868 "编码": "101260301" 869 }, 870 { 871 "市名": "都匀", 872 "编码": "101260401" 873 }, 874 { 875 "市名": "兴义", 876 "编码": "101260906" 877 }, 878 { 879 "市名": "铜仁", 880 "编码": "101260601" 881 }, 882 { 883 "市名": "毕节", 884 "编码": "101260701" 885 }, 886 { 887 "市名": "六盘水", 888 "编码": "101260801" 889 }, 890 { 891 "市名": "遵义", 892 "编码": "101260201" 893 }, 894 { 895 "市名": "凯里", 896 "编码": "101260501" 897 } 898 ] 899 }, 900 { 901 "省": "云南", 902 "市": [ 903 { 904 "市名": "昆明", 905 "编码": "101290101" 906 }, 907 { 908 "市名": "红河", 909 "编码": "101290301" 910 }, 911 { 912 "市名": "文山", 913 "编码": "101290601" 914 }, 915 { 916 "市名": "玉溪", 917 "编码": "101290701" 918 }, 919 { 920 "市名": "楚雄", 921 "编码": "101290801" 922 }, 923 { 924 "市名": "普洱", 925 "编码": "101290901" 926 }, 927 { 928 "市名": "昭通", 929 "编码": "101291001" 930 }, 931 { 932 "市名": "临沧", 933 "编码": "101291101" 934 }, 935 { 936 "市名": "怒江", 937 "编码": "101291201" 938 }, 939 { 940 "市名": "香格里拉", 941 "编码": "101291301" 942 }, 943 { 944 "市名": "丽江", 945 "编码": "101291401" 946 }, 947 { 948 "市名": "德宏", 949 "编码": "101291501" 950 }, 951 { 952 "市名": "景洪", 953 "编码": "101291601" 954 }, 955 { 956 "市名": "大理", 957 "编码": "101290201" 958 }, 959 { 960 "市名": "曲靖", 961 "编码": "101290401" 962 }, 963 { 964 "市名": "保山", 965 "编码": "101290501" 966 } 967 ] 968 }, 969 { 970 "省": "内蒙古", 971 "市": [ 972 { 973 "市名": "呼和浩特", 974 "编码": "101080101" 975 }, 976 { 977 "市名": "乌海", 978 "编码": "101080301" 979 }, 980 { 981 "市名": "集宁", 982 "编码": "101080401" 983 }, 984 { 985 "市名": "通辽", 986 "编码": "101080501" 987 }, 988 { 989 "市名": "阿拉善左旗", 990 "编码": "101081201" 991 }, 992 { 993 "市名": "鄂尔多斯", 994 "编码": "101080701" 995 }, 996 { 997 "市名": "临河", 998 "编码": "101080801" 999 }, 1000 { 1001 "市名": "锡林浩特", 1002 "编码": "101080901" 1003 }, 1004 { 1005 "市名": "呼伦贝尔", 1006 "编码": "101081000" 1007 }, 1008 { 1009 "市名": "乌兰浩特", 1010 "编码": "101081101" 1011 }, 1012 { 1013 "市名": "包头", 1014 "编码": "101080201" 1015 }, 1016 { 1017 "市名": "赤峰", 1018 "编码": "101080601" 1019 } 1020 ] 1021 }, 1022 { 1023 "省": "江西", 1024 "市": [ 1025 { 1026 "市名": "南昌", 1027 "编码": "101240101" 1028 }, 1029 { 1030 "市名": "上饶", 1031 "编码": "101240301" 1032 }, 1033 { 1034 "市名": "抚州", 1035 "编码": "101240401" 1036 }, 1037 { 1038 "市名": "宜春", 1039 "编码": "101240501" 1040 }, 1041 { 1042 "市名": "鹰潭", 1043 "编码": "101241101" 1044 }, 1045 { 1046 "市名": "赣州", 1047 "编码": "101240701" 1048 }, 1049 { 1050 "市名": "景德镇", 1051 "编码": "101240801" 1052 }, 1053 { 1054 "市名": "萍乡", 1055 "编码": "101240901" 1056 }, 1057 { 1058 "市名": "新余", 1059 "编码": "101241001" 1060 }, 1061 { 1062 "市名": "九江", 1063 "编码": "101240201" 1064 }, 1065 { 1066 "市名": "吉安", 1067 "编码": "101240601" 1068 } 1069 ] 1070 }, 1071 { 1072 "省": "湖北", 1073 "市": [ 1074 { 1075 "市名": "武汉", 1076 "编码": "101200101" 1077 }, 1078 { 1079 "市名": "黄冈", 1080 "编码": "101200501" 1081 }, 1082 { 1083 "市名": "荆州", 1084 "编码": "101200801" 1085 }, 1086 { 1087 "市名": "宜昌", 1088 "编码": "101200901" 1089 }, 1090 { 1091 "市名": "恩施", 1092 "编码": "101201001" 1093 }, 1094 { 1095 "市名": "十堰", 1096 "编码": "101201101" 1097 }, 1098 { 1099 "市名": "神农架", 1100 "编码": "101201201" 1101 }, 1102 { 1103 "市名": "随州", 1104 "编码": "101201301" 1105 }, 1106 { 1107 "市名": "荆门", 1108 "编码": "101201401" 1109 }, 1110 { 1111 "市名": "天门", 1112 "编码": "101201501" 1113 }, 1114 { 1115 "市名": "仙桃", 1116 "编码": "101201601" 1117 }, 1118 { 1119 "市名": "潜江", 1120 "编码": "101201701" 1121 }, 1122 { 1123 "市名": "襄樊", 1124 "编码": "101200201" 1125 }, 1126 { 1127 "市名": "鄂州", 1128 "编码": "101200301" 1129 }, 1130 { 1131 "市名": "孝感", 1132 "编码": "101200401" 1133 }, 1134 { 1135 "市名": "黄石", 1136 "编码": "101200601" 1137 }, 1138 { 1139 "市名": "咸宁", 1140 "编码": "101200701" 1141 } 1142 ] 1143 }, 1144 { 1145 "省": "四川", 1146 "市": [ 1147 { 1148 "市名": "成都", 1149 "编码": "101270101" 1150 }, 1151 { 1152 "市名": "自贡", 1153 "编码": "101270301" 1154 }, 1155 { 1156 "市名": "绵阳", 1157 "编码": "101270401" 1158 }, 1159 { 1160 "市名": "南充", 1161 "编码": "101270501" 1162 }, 1163 { 1164 "市名": "达州", 1165 "编码": "101270601" 1166 }, 1167 { 1168 "市名": "遂宁", 1169 "编码": "101270701" 1170 }, 1171 { 1172 "市名": "广安", 1173 "编码": "101270801" 1174 }, 1175 { 1176 "市名": "巴中", 1177 "编码": "101270901" 1178 }, 1179 { 1180 "市名": "泸州", 1181 "编码": "101271001" 1182 }, 1183 { 1184 "市名": "宜宾", 1185 "编码": "101271101" 1186 }, 1187 { 1188 "市名": "内江", 1189 "编码": "101271201" 1190 }, 1191 { 1192 "市名": "资阳", 1193 "编码": "101271301" 1194 }, 1195 { 1196 "市名": "乐山", 1197 "编码": "101271401" 1198 }, 1199 { 1200 "市名": "眉山", 1201 "编码": "101271501" 1202 }, 1203 { 1204 "市名": "凉山", 1205 "编码": "101271601" 1206 }, 1207 { 1208 "市名": "雅安", 1209 "编码": "101271701" 1210 }, 1211 { 1212 "市名": "甘孜", 1213 "编码": "101271801" 1214 }, 1215 { 1216 "市名": "阿坝", 1217 "编码": "101271901" 1218 }, 1219 { 1220 "市名": "德阳", 1221 "编码": "101272001" 1222 }, 1223 { 1224 "市名": "广元", 1225 "编码": "101272101" 1226 }, 1227 { 1228 "市名": "攀枝花", 1229 "编码": "101270201" 1230 } 1231 ] 1232 }, 1233 { 1234 "省": "宁夏", 1235 "市": [ 1236 { 1237 "市名": "银川", 1238 "编码": "101170101" 1239 }, 1240 { 1241 "市名": "中卫", 1242 "编码": "101170501" 1243 }, 1244 { 1245 "市名": "固原", 1246 "编码": "101170401" 1247 }, 1248 { 1249 "市名": "石嘴山", 1250 "编码": "101170201" 1251 }, 1252 { 1253 "市名": "吴忠", 1254 "编码": "101170301" 1255 } 1256 ] 1257 }, 1258 { 1259 "省": "青海", 1260 "市": [ 1261 { 1262 "市名": "西宁", 1263 "编码": "101150101" 1264 }, 1265 { 1266 "市名": "黄南", 1267 "编码": "101150301" 1268 }, 1269 { 1270 "市名": "海北", 1271 "编码": "101150801" 1272 }, 1273 { 1274 "市名": "果洛", 1275 "编码": "101150501" 1276 }, 1277 { 1278 "市名": "玉树", 1279 "编码": "101150601" 1280 }, 1281 { 1282 "市名": "海西", 1283 "编码": "101150701" 1284 }, 1285 { 1286 "市名": "海东", 1287 "编码": "101150201" 1288 }, 1289 { 1290 "市名": "海南", 1291 "编码": "101150401" 1292 } 1293 ] 1294 }, 1295 { 1296 "省": "山东", 1297 "市": [ 1298 { 1299 "市名": "济南", 1300 "编码": "101120101" 1301 }, 1302 { 1303 "市名": "潍坊", 1304 "编码": "101120601" 1305 }, 1306 { 1307 "市名": "临沂", 1308 "编码": "101120901" 1309 }, 1310 { 1311 "市名": "菏泽", 1312 "编码": "101121001" 1313 }, 1314 { 1315 "市名": "滨州", 1316 "编码": "101121101" 1317 }, 1318 { 1319 "市名": "东营", 1320 "编码": "101121201" 1321 }, 1322 { 1323 "市名": "威海", 1324 "编码": "101121301" 1325 }, 1326 { 1327 "市名": "枣庄", 1328 "编码": "101121401" 1329 }, 1330 { 1331 "市名": "日照", 1332 "编码": "101121501" 1333 }, 1334 { 1335 "市名": "莱芜", 1336 "编码": "101121601" 1337 }, 1338 { 1339 "市名": "聊城", 1340 "编码": "101121701" 1341 }, 1342 { 1343 "市名": "青岛", 1344 "编码": "101120201" 1345 }, 1346 { 1347 "市名": "淄博", 1348 "编码": "101120301" 1349 }, 1350 { 1351 "市名": "德州", 1352 "编码": "101120401" 1353 }, 1354 { 1355 "市名": "烟台", 1356 "编码": "101120501" 1357 }, 1358 { 1359 "市名": "济宁", 1360 "编码": "101120701" 1361 }, 1362 { 1363 "市名": "泰安", 1364 "编码": "101120801" 1365 } 1366 ] 1367 }, 1368 { 1369 "省": "陕西", 1370 "市": [ 1371 { 1372 "市名": "西安", 1373 "编码": "101110101" 1374 }, 1375 { 1376 "市名": "延安", 1377 "编码": "101110300" 1378 }, 1379 { 1380 "市名": "榆林", 1381 "编码": "101110401" 1382 }, 1383 { 1384 "市名": "铜川", 1385 "编码": "101111001" 1386 }, 1387 { 1388 "市名": "商洛", 1389 "编码": "101110601" 1390 }, 1391 { 1392 "市名": "安康", 1393 "编码": "101110701" 1394 }, 1395 { 1396 "市名": "汉中", 1397 "编码": "101110801" 1398 }, 1399 { 1400 "市名": "宝鸡", 1401 "编码": "101110901" 1402 }, 1403 { 1404 "市名": "咸阳", 1405 "编码": "101110200" 1406 }, 1407 { 1408 "市名": "渭南", 1409 "编码": "101110501" 1410 } 1411 ] 1412 }, 1413 { 1414 "省": "山西", 1415 "市": [ 1416 { 1417 "市名": "太原", 1418 "编码": "101100101" 1419 }, 1420 { 1421 "市名": "临汾", 1422 "编码": "101100701" 1423 }, 1424 { 1425 "市名": "运城", 1426 "编码": "101100801" 1427 }, 1428 { 1429 "市名": "朔州", 1430 "编码": "101100901" 1431 }, 1432 { 1433 "市名": "忻州", 1434 "编码": "101101001" 1435 }, 1436 { 1437 "市名": "长治", 1438 "编码": "101100501" 1439 }, 1440 { 1441 "市名": "大同", 1442 "编码": "101100201" 1443 }, 1444 { 1445 "市名": "阳泉", 1446 "编码": "101100301" 1447 }, 1448 { 1449 "市名": "晋中", 1450 "编码": "101100401" 1451 }, 1452 { 1453 "市名": "晋城", 1454 "编码": "101100601" 1455 }, 1456 { 1457 "市名": "吕梁", 1458 "编码": "101101100" 1459 } 1460 ] 1461 }, 1462 { 1463 "省": "新疆", 1464 "市": [ 1465 { 1466 "市名": "乌鲁木齐", 1467 "编码": "101130101" 1468 }, 1469 { 1470 "市名": "石河子", 1471 "编码": "101130301" 1472 }, 1473 { 1474 "市名": "昌吉", 1475 "编码": "101130401" 1476 }, 1477 { 1478 "市名": "吐鲁番", 1479 "编码": "101130501" 1480 }, 1481 { 1482 "市名": "库尔勒", 1483 "编码": "101130601" 1484 }, 1485 { 1486 "市名": "阿拉尔", 1487 "编码": "101130701" 1488 }, 1489 { 1490 "市名": "阿克苏", 1491 "编码": "101130801" 1492 }, 1493 { 1494 "市名": "喀什", 1495 "编码": "101130901" 1496 }, 1497 { 1498 "市名": "伊宁", 1499 "编码": "101131001" 1500 }, 1501 { 1502 "市名": "塔城", 1503 "编码": "101131101" 1504 }, 1505 { 1506 "市名": "哈密", 1507 "编码": "101131201" 1508 }, 1509 { 1510 "市名": "和田", 1511 "编码": "101131301" 1512 }, 1513 { 1514 "市名": "阿勒泰", 1515 "编码": "101131401" 1516 }, 1517 { 1518 "市名": "阿图什", 1519 "编码": "101131501" 1520 }, 1521 { 1522 "市名": "博乐", 1523 "编码": "101131601" 1524 }, 1525 { 1526 "市名": "克拉玛依", 1527 "编码": "101130201" 1528 } 1529 ] 1530 }, 1531 { 1532 "省": "西藏", 1533 "市": [ 1534 { 1535 "市名": "拉萨", 1536 "编码": "101140101" 1537 }, 1538 { 1539 "市名": "山南", 1540 "编码": "101140301" 1541 }, 1542 { 1543 "市名": "阿里", 1544 "编码": "101140701" 1545 }, 1546 { 1547 "市名": "昌都", 1548 "编码": "101140501" 1549 }, 1550 { 1551 "市名": "那曲", 1552 "编码": "101140601" 1553 }, 1554 { 1555 "市名": "日喀则", 1556 "编码": "101140201" 1557 }, 1558 { 1559 "市名": "林芝", 1560 "编码": "101140401" 1561 } 1562 ] 1563 }, 1564 { 1565 "省": "台湾", 1566 "市": [ 1567 { 1568 "市名": "台北县", 1569 "编码": "101340101" 1570 }, 1571 { 1572 "市名": "高雄", 1573 "编码": "101340201" 1574 }, 1575 { 1576 "市名": "台中", 1577 "编码": "101340401" 1578 } 1579 ] 1580 }, 1581 { 1582 "省": "海南", 1583 "市": [ 1584 { 1585 "市名": "海口", 1586 "编码": "101310101" 1587 }, 1588 { 1589 "市名": "三亚", 1590 "编码": "101310201" 1591 }, 1592 { 1593 "市名": "东方", 1594 "编码": "101310202" 1595 }, 1596 { 1597 "市名": "临高", 1598 "编码": "101310203" 1599 }, 1600 { 1601 "市名": "澄迈", 1602 "编码": "101310204" 1603 }, 1604 { 1605 "市名": "儋州", 1606 "编码": "101310205" 1607 }, 1608 { 1609 "市名": "昌江", 1610 "编码": "101310206" 1611 }, 1612 { 1613 "市名": "白沙", 1614 "编码": "101310207" 1615 }, 1616 { 1617 "市名": "琼中", 1618 "编码": "101310208" 1619 }, 1620 { 1621 "市名": "定安", 1622 "编码": "101310209" 1623 }, 1624 { 1625 "市名": "屯昌", 1626 "编码": "101310210" 1627 }, 1628 { 1629 "市名": "琼海", 1630 "编码": "101310211" 1631 }, 1632 { 1633 "市名": "文昌", 1634 "编码": "101310212" 1635 }, 1636 { 1637 "市名": "保亭", 1638 "编码": "101310214" 1639 }, 1640 { 1641 "市名": "万宁", 1642 "编码": "101310215" 1643 }, 1644 { 1645 "市名": "陵水", 1646 "编码": "101310216" 1647 }, 1648 { 1649 "市名": "西沙", 1650 "编码": "101310217" 1651 }, 1652 { 1653 "市名": "南沙岛", 1654 "编码": "101310220" 1655 }, 1656 { 1657 "市名": "乐东", 1658 "编码": "101310221" 1659 }, 1660 { 1661 "市名": "五指山", 1662 "编码": "101310222" 1663 }, 1664 { 1665 "市名": "琼山", 1666 "编码": "101310102" 1667 } 1668 ] 1669 }, 1670 { 1671 "省": "湖南", 1672 "市": [ 1673 { 1674 "市名": "长沙", 1675 "编码": "101250101" 1676 }, 1677 { 1678 "市名": "株洲", 1679 "编码": "101250301" 1680 }, 1681 { 1682 "市名": "衡阳", 1683 "编码": "101250401" 1684 }, 1685 { 1686 "市名": "郴州", 1687 "编码": "101250501" 1688 }, 1689 { 1690 "市名": "常德", 1691 "编码": "101250601" 1692 }, 1693 { 1694 "市名": "益阳", 1695 "编码": "101250700" 1696 }, 1697 { 1698 "市名": "娄底", 1699 "编码": "101250801" 1700 }, 1701 { 1702 "市名": "邵阳", 1703 "编码": "101250901" 1704 }, 1705 { 1706 "市名": "岳阳", 1707 "编码": "101251001" 1708 }, 1709 { 1710 "市名": "张家界", 1711 "编码": "101251101" 1712 }, 1713 { 1714 "市名": "怀化", 1715 "编码": "101251201" 1716 }, 1717 { 1718 "市名": "黔阳", 1719 "编码": "101251301" 1720 }, 1721 { 1722 "市名": "永州", 1723 "编码": "101251401" 1724 }, 1725 { 1726 "市名": "吉首", 1727 "编码": "101251501" 1728 }, 1729 { 1730 "市名": "湘潭", 1731 "编码": "101250201" 1732 } 1733 ] 1734 }, 1735 { 1736 "省": "江苏", 1737 "市": [ 1738 { 1739 "市名": "南京", 1740 "编码": "101190101" 1741 }, 1742 { 1743 "市名": "镇江", 1744 "编码": "101190301" 1745 }, 1746 { 1747 "市名": "苏州", 1748 "编码": "101190401" 1749 }, 1750 { 1751 "市名": "南通", 1752 "编码": "101190501" 1753 }, 1754 { 1755 "市名": "扬州", 1756 "编码": "101190601" 1757 }, 1758 { 1759 "市名": "宿迁", 1760 "编码": "101191301" 1761 }, 1762 { 1763 "市名": "徐州", 1764 "编码": "101190801" 1765 }, 1766 { 1767 "市名": "淮安", 1768 "编码": "101190901" 1769 }, 1770 { 1771 "市名": "连云港", 1772 "编码": "101191001" 1773 }, 1774 { 1775 "市名": "常州", 1776 "编码": "101191101" 1777 }, 1778 { 1779 "市名": "泰州", 1780 "编码": "101191201" 1781 }, 1782 { 1783 "市名": "无锡", 1784 "编码": "101190201" 1785 }, 1786 { 1787 "市名": "盐城", 1788 "编码": "101190701" 1789 } 1790 ] 1791 }, 1792 { 1793 "省": "黑龙江", 1794 "市": [ 1795 { 1796 "市名": "哈尔滨", 1797 "编码": "101050101" 1798 }, 1799 { 1800 "市名": "牡丹江", 1801 "编码": "101050301" 1802 }, 1803 { 1804 "市名": "佳木斯", 1805 "编码": "101050401" 1806 }, 1807 { 1808 "市名": "绥化", 1809 "编码": "101050501" 1810 }, 1811 { 1812 "市名": "黑河", 1813 "编码": "101050601" 1814 }, 1815 { 1816 "市名": "双鸭山", 1817 "编码": "101051301" 1818 }, 1819 { 1820 "市名": "伊春", 1821 "编码": "101050801" 1822 }, 1823 { 1824 "市名": "大庆", 1825 "编码": "101050901" 1826 }, 1827 { 1828 "市名": "七台河", 1829 "编码": "101051002" 1830 }, 1831 { 1832 "市名": "鸡西", 1833 "编码": "101051101" 1834 }, 1835 { 1836 "市名": "鹤岗", 1837 "编码": "101051201" 1838 }, 1839 { 1840 "市名": "齐齐哈尔", 1841 "编码": "101050201" 1842 }, 1843 { 1844 "市名": "大兴安岭", 1845 "编码": "101050701" 1846 } 1847 ] 1848 }, 1849 { 1850 "省": "吉林", 1851 "市": [ 1852 { 1853 "市名": "长春", 1854 "编码": "101060101" 1855 }, 1856 { 1857 "市名": "延吉", 1858 "编码": "101060301" 1859 }, 1860 { 1861 "市名": "四平", 1862 "编码": "101060401" 1863 }, 1864 { 1865 "市名": "白山", 1866 "编码": "101060901" 1867 }, 1868 { 1869 "市名": "白城", 1870 "编码": "101060601" 1871 }, 1872 { 1873 "市名": "辽源", 1874 "编码": "101060701" 1875 }, 1876 { 1877 "市名": "松原", 1878 "编码": "101060801" 1879 }, 1880 { 1881 "市名": "吉林", 1882 "编码": "101060201" 1883 }, 1884 { 1885 "市名": "通化", 1886 "编码": "101060501" 1887 } 1888 ] 1889 }, 1890 { 1891 "省": "辽宁", 1892 "市": [ 1893 { 1894 "市名": "沈阳", 1895 "编码": "101070101" 1896 }, 1897 { 1898 "市名": "鞍山", 1899 "编码": "101070301" 1900 }, 1901 { 1902 "市名": "抚顺", 1903 "编码": "101070401" 1904 }, 1905 { 1906 "市名": "本溪", 1907 "编码": "101070501" 1908 }, 1909 { 1910 "市名": "丹东", 1911 "编码": "101070601" 1912 }, 1913 { 1914 "市名": "葫芦岛", 1915 "编码": "101071401" 1916 }, 1917 { 1918 "市名": "营口", 1919 "编码": "101070801" 1920 }, 1921 { 1922 "市名": "阜新", 1923 "编码": "101070901" 1924 }, 1925 { 1926 "市名": "辽阳", 1927 "编码": "101071001" 1928 }, 1929 { 1930 "市名": "铁岭", 1931 "编码": "101071101" 1932 }, 1933 { 1934 "市名": "朝阳", 1935 "编码": "101071201" 1936 }, 1937 { 1938 "市名": "盘锦", 1939 "编码": "101071301" 1940 }, 1941 { 1942 "市名": "大连", 1943 "编码": "101070201" 1944 }, 1945 { 1946 "市名": "锦州", 1947 "编码": "101070701" 1948 } 1949 ] 1950 } 1951 ] 1952 }
2、天气WCF服务
作者:Selway
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。