V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chnhyg
V2EX  ›  程序员

整理了一份最新版省市区数据,带行政区划代码,要的拿走。

  •  
  •   chnhyg ·
    szxmsu · 2016-12-10 12:14:06 +08:00 · 5055 次点击
    这是一个创建于 2900 天前的主题,其中的信息可能已经有所发展或是发生改变。
    23 条回复    2016-12-15 20:17:11 +08:00
    canbingzt
        1
    canbingzt  
       2016-12-10 12:45:14 +08:00   ❤️ 6
    http://www.mca.gov.cn/article/sj/tjbz/a/
    民政部每个月末会推出新的行政区划码
    konakona
        2
    konakona  
       2016-12-10 14:16:25 +08:00
    好东西,感谢!
    HuangLibo
        3
    HuangLibo  
       2016-12-10 14:20:16 +08:00
    看了下 JSON 的结构,感觉需要调整一下,然后整合为一个大的 JSON ,会更加实用。
    抓取一部分说一说:
    {
    "cityID": 1,
    "provinceID": 1,
    "divisionCode": "110100",
    "cityName": "市辖区"
    },
    {
    "cityID": 2,
    "provinceID": 1,
    "divisionCode": "110200",
    "cityName": "县"
    },
    {
    "cityID": 3,
    "provinceID": 2,
    "divisionCode": "120100",
    "cityName": "市辖区"
    },
    {
    "cityID": 4,
    "provinceID": 2,
    "divisionCode": "120200",
    "cityName": "县"
    },
    {
    "cityID": 5,
    "provinceID": 3,
    "divisionCode": "130100",
    "cityName": "石家庄市"
    },
    比如这样的数据,并在同一级别里有什么作用?比较常见的做法是按 省-市-县 来嵌套结果,一个 JSON 可以清晰明了地把所有事情都做了。
    chnhyg
        4
    chnhyg  
    OP
       2016-12-10 14:34:21 +08:00
    @HuangLibo 嗯,暂时就分三个吧,不做调整。需要一整个的话可以转换一下,工作量不多。
    其实之前有考虑过这种格式:
    ```
    [
    {
    "id": 1,
    "parentID": null,
    "level": 1,
    "name": "广东"
    },
    {
    "id": 2,
    "parentID": 1,
    "level": 2,
    "name": "深圳"
    }
    ]
    ```
    HuangLibo
        5
    HuangLibo  
       2016-12-11 12:17:33 +08:00
    @chnhyg 我的意思是 city 应该是嵌套在 province 内的一个数组,而非并列在同一个级别。
    chnhyg
        6
    chnhyg  
    OP
       2016-12-11 20:25:17 +08:00
    @HuangLibo 理解你的意思,不太认同用嵌套,嵌套的数据结构更加复杂。
    1010011010
        7
    1010011010  
       2016-12-12 04:56:18 +08:00
    @HuangLibo 嵌套的话就不能一次遍历查询的到了
    fighter2011
        8
    fighter2011  
       2016-12-12 09:38:58 +08:00
    增加一下邮编之类的吧
    chnhyg
        9
    chnhyg  
    OP
       2016-12-12 09:48:13 +08:00
    @fighter2011 有没有可靠稳定的数据来源?
    fighter2011
        10
    fighter2011  
       2016-12-12 10:11:26 +08:00
    @chnhyg 我们先前是调用别人的接口获取邮编的,调用了聚合的接口。邮政官网不知道有没有稳定的
    beginor
        11
    beginor  
       2016-12-12 12:48:10 +08:00 via Android
    有界线坐标就更好了
    figofuture
        12
    figofuture  
       2016-12-12 14:58:14 +08:00
    已拿走,谢谢,😄
    1010011010
        13
    1010011010  
       2016-12-12 16:54:16 +08:00
    130185:{id: "130185", pid: "130100", name: "鹿泉市", area_code: "0311", level: "3", type: "区"},
    130200:{
    id: "130200",
    pid: "130000",
    name: "唐山市",
    area_code: "0315",
    level: "2",
    type: "市"
    },
    130202:{
    id: "130202",
    pid: "130200",
    name: "路南区",
    area_code: "0315",
    level: "3",
    type: "区"
    },

    @chnhyg 这是我现在用的。

    用 id 作下标,可能比数组慢,但是不用遍历查询。

    能不能做这种格式的
    chnhyg
        14
    chnhyg  
    OP
       2016-12-12 17:04:05 +08:00
    @1010011010 这个不适合大多数人,不能在 repo 里改,如果你需要的话,我单独给你做一份?
    1010011010
        15
    1010011010  
       2016-12-12 17:29:11 +08:00
    @chnhyg 只能数组?还是格式不行?
    chnhyg
        16
    chnhyg  
    OP
       2016-12-12 17:39:11 +08:00
    @1010011010 repo 是给大家看的,得让大多数人接受才行。
    aleen42
        17
    aleen42  
       2016-12-12 17:51:22 +08:00
    这种项目我第二次见了= =
    1010011010
        18
    1010011010  
       2016-12-12 17:58:11 +08:00
    @chnhyg ?! 我这个让人无法接受吗?有这么惨吗
    chnhyg
        19
    chnhyg  
    OP
       2016-12-12 21:27:57 +08:00
    @1010011010 倒不是说让人无法接受,只是说让大多数用户更轻松地去接受。
    1010011010
        20
    1010011010  
       2016-12-14 11:47:08 +08:00
    @chnhyg 所以说怎样让大多数用户更轻松地去接受呢?
    chnhyg
        21
    chnhyg  
    OP
       2016-12-14 15:28:39 +08:00
    @1010011010 就像我当前的 repo 这样,同样的数据,能简单就不整复杂了,当然这是经验之一。
    1010011010
        22
    1010011010  
       2016-12-15 18:28:54 +08:00
    @chnhyg
    [
    {
    id: "邮政编号",
    pid: "父级邮政编号",
    name: "区域名称",
    area_code: "电话区号",
    //后面两个可有可无
    level: "2",
    type: "市"
    }
    ]
    这样子格式做一份谢谢
    chnhyg
        23
    chnhyg  
    OP
       2016-12-15 20:17:11 +08:00
    @1010011010 电话区号我没有数据源。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1878 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.