利用github上维护的中国行政区划代码json文件(来自 https://github.com/mumuy/data_location 的list.json),生成的省市区三级联动json数据。 为了要显示“上海-上海市-闵行区”这种结构,我将list.json稍微修改了一下,同时去掉了港澳台(是不是作者太爱国了,国家统计局和民政部都没有相关的数据)。
关于行政区划代码: 总共是六位数,前面两位代表省或者直辖市编号, 中间两位代表市或者市辖区编号,最后两位代表区县编号。 这里要明白两个关键词,“省直辖县级行政单位”和“县级市”。 前者表示该县是由省直接管辖的,相当于只有省-县; 后者表示该县虽然叫XX市,但是仍然是归属于某个市的,和县一样,相当于省-市-市县。 最后,附上两个参考链接: 1. http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/ (国家统计局,有层级结构,方便查看) 2. http://www.mca.gov.cn/article/sj/tjbz/a/ (民政部,数据比较新) 从以上两个链接的内容可以看出,民政部还是比较勤快的,但是二者的数据都不是最新的——看来还是github上的热心维护者更给力。
用Python执行parse.py的步骤:
- 安装Python
- 手动修改parse.py中list.json对应的路径并保存,并通过终端或者命令行进入到parse.py所在的路径,并执行python parse.py
- 将同一级目录下生成的address.json引入到xcode工程即可
注意事项:
- 重庆市比较坑,因为在所有的直辖市中,只有它有市辖县;
- 省直辖县级行政单位,中间的两位编码都是90。
P.S.: 第一次用python了个生成json文件的程序,语法拙劣之处,还请见谅;
三级联动的选择器例子是用OC写的;
引用的list.json的最后提交时间是 May 11, 2017;
至于address.json数据的内容,用 http://www.json.cn/ 在线解析一下就能看到全部的结构了。