Java解析中国城市Json数据

由于城市列表基本是固定不变的,App可以读取本地文件来显示城市列表,这里使用Json数据把城市列表保存起来,在代码中解析Json数据显示就方便,在此把它记录下来,这里的城市列表是根据地图得到的,方便以后使用。

area.json文件

   { "provinces": [
    { "province": "北京市", "cities":["北京市"] },
    { "province": "上海市", "cities":["上海市"] },
    { "province": "天津市", "cities":["天津市"] },
	{ "province": "重庆市", "cities":["重庆市"] },
	{ "province": "安徽省", "cities":["安庆市","蚌埠市","毫州市","池州市","滁州市","阜阳市","合肥市","淮北市",
	"黄山市","六安市","马鞍山市","宿州市","铜陵市","芜湖市","宣城市"] },
	{ "province": "福建省", "cities":["福州市","龙岩市","南平市","宁德市","莆田市","泉州市","三明市","厦门市","漳州市"] },
	{ "province": "甘肃省", "cities":["白银市","定西市","甘南藏族自治州","嘉峪关市","金昌市","酒泉市","兰州市","临夏回族自治州","陇南市","平凉市","庆阳市","天水市","武威市","张掖市"] },
	{ "province": "广东省", "cities":["潮州市","东莞市","佛山市","广州市","河源市","惠州市","江门市","揭阳市","茂名市","梅州市","清远市","汕头市","汕尾市","韶关市","深圳市","阳江市","云浮市","湛江市","肇庆市","中山市","珠海市"] },
	{ "province": "广西壮族自治区", "cities":["百色市","北海市","崇左市","防城港市","贵港市","桂林市","河池市","贺州市","来宾市","柳州市","南宁市","钦州市","梧州市","玉林市"] },
	{ "province": "贵州省", "cities":["安顺市","毕节市","贵阳市","六盘水市","黔东南苗族侗族自治州","黔南布依族苗族自治州","黔西南布依族苗族自治州","铜仁市","遵义市"] },
	{ "province": "海南省", "cities":["白沙黎族自治县","保亭黎族苗族自治县","昌江黎族自治县","澄迈县","儋州市","定安县","东方市","海口市","乐东黎族自治县","临高县","陵水黎族自治县","琼海市","琼中黎族苗族自治县","三亚市","屯昌县","万宁市","文昌市","五指山市"] },
	{ "province": "河北省", "cities":["保定市","沧州市","承德市","邯郸市","衡水市","廊坊市","秦皇岛市","石家庄市","唐山市","邢台市","张家口市"] },
	{ "province": "河南省", "cities":["安阳市","鹤壁市","焦作市","济源市","开封市","漯河市","洛阳市","南阳市","平顶山市","濮阳市","三门峡市","商丘市","新乡市","信阳市","许昌市","郑州市","周口市","驻马店市"] },
	{ "province": "黑龙江省", "cities":["大庆市","大兴安岭地区","哈尔滨市","鹤岗市","黑河市","佳木斯市","鸡西市","牡丹江市","齐齐哈尔市","七台河市","双鸭山市","绥化市","伊春市"] },
	{ "province": "湖北省", "cities":["恩施土家族苗族自治州","鄂州市","黄冈市","黄石市","荆门市","荆州市","潜江市","神农架林区","十堰市","随州市","天门市","武汉市","襄阳市","咸宁市","仙桃市","孝感市","宜昌市"] },
	{ "province": "湖南省", "cities":["常德市","长沙市","郴州市","衡阳市","怀化市","娄底市","邵阳市","湘潭市","湘西土家族苗族自治州","益阳市","永州市","岳阳市","张家界市","株洲市"] },
	{ "province": "吉林省", "cities":["白城市","白山市","长春市","吉林市","辽源市","四平市","松原市","通化市","延边朝鲜族自治州"] },
	{ "province": "江苏省", "cities":["常州市","淮安市","连云港市","南京市","南通市","宿迁市","苏州市","泰州市","无锡市","徐州市","盐城市","扬州市","镇江市"] },
	{ "province": "江西省", "cities":["抚州市","赣州市","吉安市","景德镇市","九江市","南昌市","萍乡市","上饶市","新余市","宜春市","鹰潭市"] },
	{ "province": "辽宁省", "cities":["鞍山市","本溪市","朝阳市","大连市","丹东市","抚顺市","阜新市","葫芦岛市","锦州市","辽阳市","盘锦市","沈阳市",
	"铁岭市","营口市"] },
	{ "province": "内蒙古", "cities":["阿拉善盟","包头市","巴彦淖尔市","赤峰市","鄂尔多斯市","呼和浩特市","呼伦贝尔市","通辽市","乌海市","乌兰察布市",
	"锡林郭勒盟","兴安盟"] },
	{ "province": "宁夏回族自治区", "cities":["固原市","石嘴山市","吴忠市","银川市","中卫市"] },
	{ "province": "青海省", "cities":["果洛藏族自治州","海北藏族自治州","海东市","海南藏族自治州","海西蒙古族藏族自治州","黄南藏族自治州","西宁市","玉树藏族自治州"] },
	{ "province": "山东省", "cities":["滨州市","德州市","东营市","菏泽市","济南市","济宁市","莱芜市","聊城市","临沂市","青岛市","日照市","泰安市",
	"淮坊市","威海市","烟台市","枣庄市","淄博市"] },
	{ "province": "山西省", "cities":["长治市","大同市","晋城市","晋中市","临汾市","吕梁市","朔州市","太原市","忻州市","阳泉市","运城市"] },
	{ "province": "陕西省", "cities":["安康市","宝鸡市","汉中市","商洛市","铜川市","渭南市","咸阳市","西安市","延安市","榆林市"] },
	{ "province": "四川省", "cities":["阿坝藏族羌族自治州","巴中市","成都市","达州市","德阳市","甘孜藏族自治州","广安市","广元市","乐山市",
	"凉山彝族自治州","泸州市","眉山市","绵阳市","南充市","内江市","攀枝花市","遂宁市","雅安市","宜宾市","自贡市","资阳市"] },
	{ "province": "西藏", "cities":["阿里地区","昌都市","拉萨市","林芝市","那曲地区","日喀则市","山南地区"] },
	{ "province": "新疆维吾尔自治区", "cities":["阿克苏地区","阿拉尔市","阿勒泰地区","巴音郭楞蒙古自治州","博尔塔拉蒙古自治州","昌吉回族自治州",
	"哈密地区","和田地区","喀什地区","克拉玛依市","克孜勒苏柯尔克孜自治州","石河子市","塔城地区","吐鲁番市","图木舒克市","五家渠市","乌鲁木齐市",
	"伊犁哈萨克自治州"] },
	{ "province": "云南省", "cities":["保山市","楚雄彝族自治州","大理白族自治州","德宏傣族景颇族自治州",
	"迪庆藏族自治州","红河哈尼族彝族自治州","昆明市","丽江市","临沧市","怒江傈僳族自治州","普洱市","曲靖市","文山壮族苗族自治州","西双版纳傣族自治州",
	"玉溪市","昭通市"] },
	{ "province": "浙江省", "cities":["杭州市","湖州市","嘉兴市","金华市","丽水市","宁波市","衢州市","绍兴市","台州市","温州市","舟山市"] },
	{ "province": "港澳地区", "cities":["香港特别行政区","澳门特别行政区"] }
    ]}
area.json放在assets目录下

 

在Android中可以用以下代码来解析
读取assets下的文件

public String getJson(String path) {
		StringBuffer sb = new StringBuffer();
		AssetManager am = getAssets();
		try {
			BufferedReader br = new BufferedReader(new InputStreamReader(am.open(path)));
			String line;
			while ((line = br.readLine()) != null) {
				sb.append(line);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return sb.toString().trim();
	}
解析Json字符串
String json = getJson("area.json");
		try {
			JSONObject dataJson = new JSONObject(json);
			JSONArray provinces = dataJson.getJSONArray("provinces");
			for(int i = 0; i < provinces.length(); i++){
				JSONObject province = provinces.getJSONObject(i);
				String pro = province.getString("province");  //得到省
				JSONArray cities = province.getJSONArray("cities");
				for(int j = 0; j < cities.length(); j++){
					//得到城市
					cities.getString(j);
				}
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}


猜你喜欢

转载自blog.csdn.net/deng0zhaotai/article/details/54966161
今日推荐