1. 程式人生 > >android省市區三級聯動

android省市區三級聯動

方式一(最簡便):

1.在project的build.gradle新增程式碼:

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

2.在app/build.gradle檔案新增如下程式碼

compile 'com.github.open-android:CityPickerWebView:0.1.0'

3.簡單的佈局檔案--activity_main.xml(TextView是選擇好的省市區,Button點選事件,出現三級聯動)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context
="com.classical.example_citypicker.MainActivity"> <TextView android:id="@+id/tv_show" android:text="請選擇您所在的省市區" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/btn_selector" android:layout_width
="match_parent" android:layout_height="wrap_content" android:text="請選擇"/> </LinearLayout>

4.MainActivity.java

package com.classical.example_citypicker;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import me.leefeng.citypicker.CityPicker;
import me.leefeng.citypicker.CityPickerListener;

public class MainActivity extends AppCompatActivity implements CityPickerListener {
    private TextView mShow;
    private Button mSelector;
    private CityPicker cityPicker;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cityPicker = new CityPicker(MainActivity.this,this);

        mSelector = (Button)findViewById(R.id.btn_selector);
        mShow = (TextView)findViewById(R.id.tv_show);

        mSelector.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                cityPicker.show();
            }
        });
    }

    @Override
    public void getCity(String s) {
        mShow.setText(s);
    }

    @Override
    public void onBackPressed() {
        if (cityPicker.isShow()) {
            cityPicker.close();
            return;
        }
        super.onBackPressed();
    }
}

 

 

===========以上方法是完全引用別人github中的內容,如果要在市下面新增全部區,或者在省下面新增全部市,建議用第二種方式。

 

方法二:

--整體專案結構:

====下面是流程:

1.在build.gradle(Module:app)中新增依賴:

implementation 'com.contrarywind:Android-PickerView:4.1.6'
implementation 'com.google.code.gson:gson:2.6.2'

2.activity_main.xml中佈局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.dell.provinces1.MainActivity">

    <TextView
        android:id="@+id/tv_address"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="選擇地址"
        android:layout_centerInParent="true" />

</RelativeLayout>

3.控制元件的資料格式需要實體類(新建MainAcitivity同目錄下的JsonBean.java檔案)

package com.example.dell.provinces1;

import com.contrarywind.interfaces.IPickerViewData;
import java.util.List;
public class JsonBean implements IPickerViewData {
 
    private String name;
    private List<CityBean> city;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public List<CityBean> getCityList() {
        return city;
    }
 
    public void setCityList(List<CityBean> city) {
        this.city = city;
    }
 
    // 實現 IPickerViewData 介面,
    // 這個用來顯示在PickerView上面的字串,
    // PickerView會通過IPickerViewData獲取getPickerViewText方法顯示出來。
    @Override
    public String getPickerViewText() {
        return this.name;
    }
 
 
    public static class CityBean {
       
        private String name;
        private List<String> area;
 
        public String getName() {
            return name;
        }
 
        public void setName(String name) {
            this.name = name;
        }
 
        public List<String> getArea() {
            return area;
        }
 
        public void setArea(List<String> area) {
            this.area = area;
        }
    }
}

4.新建MainAcitvity.java同級目錄下的GetJsonDataUtil.java檔案

package com.example.dell.provinces1;

import android.content.Context;
import android.content.res.AssetManager;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class GetJsonDataUtil {
 
 
    public String getJson(Context context, String fileName) {
 
        StringBuilder stringBuilder = new StringBuilder();
        try {
            AssetManager assetManager = context.getAssets();
            BufferedReader bf = new BufferedReader(new InputStreamReader(
                    assetManager.open(fileName)));
            String line;
            while ((line = bf.readLine()) != null) {
                stringBuilder.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }
}

5.MainAcitvity.java

package com.example.dell.provinces1;

import android.app.Activity;
import android.widget.TextView;
import java.util.ArrayList;
import android.view.View;
import android.os.Bundle;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import org.json.JSONArray;
import android.graphics.Color;
import com.google.gson.Gson;


public class MainActivity extends Activity {

    private TextView mTvAddress;
    private ArrayList<JsonBean> options1Items = new ArrayList<>(); //
    private ArrayList<ArrayList<String>> options2Items = new ArrayList<>();//
    private ArrayList<ArrayList<ArrayList<String>>> options3Items = new ArrayList<>();//
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mTvAddress = (TextView) findViewById(R.id.tv_address);
        initJsonData();
        mTvAddress.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showPickerView();
            }
        });
    }

    private void showPickerView() {// 彈出選擇器(省市區三級聯動)
        OptionsPickerView pvOptions = new OptionsPickerBuilder(this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                //返回的分別是三個級別的選中位置
                mTvAddress.setText(options1Items.get(options1).getPickerViewText() + "  "
                        + options2Items.get(options1).get(options2) + "  "
                        + options3Items.get(options1).get(options2).get(options3));

            }
        })
                .setTitleText("城市選擇")
                .setDividerColor(Color.BLACK)
                .setTextColorCenter(Color.BLACK) //設定選中項文字顏色
                .setContentTextSize(20)
                .build();
        /*pvOptions.setPicker(options1Items);//一級選擇器
        pvOptions.setPicker(options1Items, options2Items);//二級選擇器*/
        pvOptions.setPicker(options1Items, options2Items, options3Items);//三級選擇器
        pvOptions.show();
    }


    private void initJsonData() {//解析資料 (省市區三級聯動)
        /**
         * 注意:assets 目錄下的Json檔案僅供參考,實際使用可自行替換檔案
         * 關鍵邏輯在於迴圈體
         *
         * */
        String JsonData = new GetJsonDataUtil().getJson(this, "province.json");//獲取assets目錄下的json檔案資料

        ArrayList<JsonBean> jsonBean = parseData(JsonData);//用Gson 轉成實體

        /**
         * 新增省份資料
         *
         * 注意:如果是新增的JavaBean實體,則實體類需要實現 IPickerViewData 介面,
         * PickerView會通過getPickerViewText方法獲取字串顯示出來。
         */
        options1Items = jsonBean;

        for (int i = 0; i < jsonBean.size(); i++) {//遍歷省份
            ArrayList<String> CityList = new ArrayList<>();//該省的城市列表(第二級)
            ArrayList<ArrayList<String>> Province_AreaList = new ArrayList<>();//該省的所有地區列表(第三級)

            for (int c = 0; c < jsonBean.get(i).getCityList().size(); c++) {//遍歷該省份的所有城市
                String CityName = jsonBean.get(i).getCityList().get(c).getName();
                CityList.add(CityName);//新增城市
                ArrayList<String> City_AreaList = new ArrayList<>();//該城市的所有地區列表

                //如果無地區資料,建議新增空字串,防止資料為null 導致三個選項長度不匹配造成崩潰
                if (jsonBean.get(i).getCityList().get(c).getArea() == null
                        || jsonBean.get(i).getCityList().get(c).getArea().size() == 0) {
                    City_AreaList.add("");
                } else {
                    City_AreaList.addAll(jsonBean.get(i).getCityList().get(c).getArea());
                }
                Province_AreaList.add(City_AreaList);//新增該省所有地區資料
            }

            /**
             * 新增城市資料
             */
            options2Items.add(CityList);

            /**
             * 新增地區資料
             */
            options3Items.add(Province_AreaList);
        }
    }

    public ArrayList<JsonBean> parseData(String result) {//Gson 解析
        ArrayList<JsonBean> detail = new ArrayList<>();
        try {
            JSONArray data = new JSONArray(result);
            Gson gson = new Gson();
            for (int i = 0; i < data.length(); i++) {
                JsonBean entity = gson.fromJson(data.optJSONObject(i).toString(), JsonBean.class);
                detail.add(entity);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return detail;
    }
}

6.新建assets檔案,資料夾下存province.json

[
  {
    "name": "北京市",
    "city": [
      {
        "name": "北京市",
        "area": [
          "東城區",
          "西城區",
          "崇文區",
          "宣武區",
          "朝陽區",
          "豐臺區",
          "石景山區",
          "海淀區",
          "門頭溝區",
          "房山區",
          "通州區",
          "順義區",
          "昌平區",
          "大興區",
          "平谷區",
          "懷柔區",
          "密雲縣",
          "延慶縣"
        ]
      }
    ]
  },
  {
    "name": "天津市",
    "city": [
      {
        "name": "天津市",
        "area": [
          "和平區",
          "河東區",
          "河西區",
          "南開區",
          "河北區",
          "紅橋區",
          "塘沽區",
          "漢沽區",
          "大港區",
          "東麗區",
          "西青區",
          "津南區",
          "北辰區",
          "武清區",
          "寶坻區",
          "寧河縣",
          "靜海縣",
          "薊  縣"
        ]
      }
    ]
  },
  {
    "name": "河北省",
    "city": [
      {
        "name": "石家莊市",
        "area": [
          "長安區",
          "橋東區",
          "橋西區",
          "新華區",
          "郊  區",
          "井陘礦區",
          "井陘縣",
          "正定縣",
          "欒城縣",
          "行唐縣",
          "靈壽縣",
          "高邑縣",
          "深澤縣",
          "贊皇縣",
          "無極縣",
          "平山縣",
          "元氏縣",
          "趙  縣",
          "辛集市",
          "藁",
          "晉州市",
          "新樂市",
          "鹿泉市"
        ]
      },
      {
        "name": "唐山市",
        "area": [
          "路南區",
          "路北區",
          "古冶區",
          "開平區",
          "新  區",
          "豐潤縣",
          "灤  縣",
          "灤南縣",
          "樂亭縣",
          "遷西縣",
          "玉田縣",
          "唐海縣",
          "遵化市",
          "豐南市",
          "遷安市"
        ]
      },
      {
        "name": "秦皇島市",
        "area": [
          "海港區",
          "山海關區",
          "北戴河區",
          "青龍滿族自治縣",
          "昌黎縣",
          "撫寧縣",
          "盧龍縣"
        ]
      },
      {
        "name": "邯鄲市",
        "area": [
          "邯山區",
          "叢臺區",
          "復興區",
          "峰峰礦區",
          "邯鄲縣",
          "臨漳縣",
          "成安縣",
          "大名縣",
          "涉  縣",
          "磁  縣",
          "肥鄉縣",
          "永年縣",
          "邱  縣",
          "雞澤縣",
          "廣平縣",
          "館陶縣",
          "魏  縣",
          "曲周縣",
          "武安市"
        ]
      },
      {
        "name": "邢臺市",
        "area": [
          "橋東區",
          "橋西區",
          "邢臺縣",
          "臨城縣",
          "內丘縣",
          "柏鄉縣",
          "隆堯縣",
          "任  縣",
          "南和縣",
          "寧晉縣",
          "鉅鹿縣",
          "新河縣",
          "廣宗縣",
          "平鄉縣",
          "威  縣",
          "清河縣",
          "臨西縣",
          "南宮市",
          "沙河市"
        ]
      },
      {
        "name": "保定市",
        "area": [
          "新市區",
          "北市區",
          "南市區",
          "滿城縣",
          "清苑縣",
          "淶水縣",
          "阜平縣",
          "徐水縣",
          "定興縣",
          "唐  縣",
          "高陽縣",
          "容城縣",
          "淶源縣",
          "望都縣",
          "安新縣",
          "易  縣",
          "曲陽縣",
          "蠡  縣",
          "順平縣",
          "博野",
          "雄縣",
          "涿州市",
          "定州市",
          "安國市",
          "高碑店市"
        ]
      },
      {
        "name": "張家口",
        "area": [
          "橋東區",
          "橋西區",
          "宣化區",
          "下花園區",
          "宣化縣",
          "張北縣",
          "康保縣",
          "沽源縣",
          "尚義縣",
          "蔚  縣",
          "陽原縣",
          "懷安縣",
          "萬全縣",
          "懷來縣",
          "涿鹿縣",
          "赤城縣",
          "崇禮縣"
        ]
      },
      {
        "name": "承德市",
        "area": [
          "雙橋區",
          "雙灤區",
          "鷹手營子礦區",
          "承德縣",
          "興隆縣",
          "平泉縣",
          "灤平縣",
          "隆化縣",
          "豐寧滿族自治縣",
          "寬城滿族自治縣",
          "圍場滿族蒙古族自治縣"
        ]
      },
      {
        "name": "滄州市",
        "area": [
          "新華區",
          "運河區",
          "滄  縣",
          "青  縣",
          "東光縣",
          "海興縣",
          "鹽山縣",
          "肅寧縣",
          "南皮縣",
          "吳橋縣",
          "獻  縣",
          "孟村回族自治縣",
          "泊頭市",
          "任丘市",
          "黃驊市",
          "河間市"
        ]
      },
      {
        "name": "廊坊市",
        "area": [
          "安次區",
          "固安縣",
          "永清縣",
          "香河縣",
          "大城縣",
          "文安縣",
          "大廠回族自治縣",
          "霸州市",
          "三河市"
        ]
      },
      {
        "name": "衡水市",
        "area": [
          "桃城區",
          "棗強縣",
          "武邑縣",
          "武強縣",
          "饒陽縣",
          "安平縣",
          "故城縣",
          "景  縣",
          "阜城縣",
          "冀州市",
          "深州市"
        ]
      }
    ]
  },
  {
    "name": "山西省",
    "city": [
      {
        "name": "太原市",
        "area": [
          "小店區",
          "迎澤區",
          "杏花嶺區",
          "尖草坪區",
          "萬柏林區",
          "晉源區",
          "清徐縣",
          "陽曲縣",
          "婁煩縣",
          "古交市"
        ]
      },
      {
        "name": "大同市",
        "area": [
          "城  區",
          "礦  區",
          "南郊區",
          "新榮區",
          "陽高縣",
          "天鎮縣",
          "廣靈縣",
          "靈丘縣",
          "渾源縣",
          "左雲縣",
          "大同縣"
        ]
      },
      {
        "name": "陽泉市",
        "area": [
          "城  區",
          "礦  區",
          "郊  區",
          "平定縣",
          "盂  縣"
        ]
      },
      {
        "name": "長治市",
        "area": [
          "城  區",
          "郊  區",
          "長治縣",
          "襄垣縣",
          "屯留縣",
          "平順縣",
          "黎城縣",
          "壺關縣",
          "長子縣",
          "武鄉縣",
          "沁  縣",
          "沁源縣",
          "潞城市"
        ]
      },
      {
        "name": "晉城市",
        "area": [
          "城  區",
          "沁水縣",
          "陽城縣",
          "陵川縣",
          "澤州縣",
          "高平市"
        ]
      },
      {
        "name": "朔州市",
        "area": [
          "朔城區",
          "平魯區",
          "山陰縣",
          "應  縣",
          "右玉縣",
          "懷仁縣"
        ]
      },
      {
        "name": "忻州市",
        "area": [
          "忻府區",
          "原平市",
          "定襄縣",
          "五臺縣",
          "代  縣",
          "繁峙縣",
          "寧武縣",
          "靜樂縣",
          "神池縣",
          "五寨縣",
          "岢嵐縣",
          "河曲縣",
          "保德縣",
          "偏關縣"
        ]
      },
      {
        "name": "呂梁市",
        "area": [
          "離石區",
          "孝義市",
          "汾陽市",
          "文水縣",
          "交城縣",
          "興  縣",
          "臨  縣",
          "柳林縣",
          "石樓縣",
          "嵐  縣",
          "方山縣",
          "中陽縣",
          "交口縣"
        ]
      },
      {
        "name": "晉中市",
        "area": [
          "榆次市",
          "介休市",
          "榆社縣",
          "左權縣",
          "和順縣",
          "昔陽縣",
          "壽陽縣",
          "太谷縣",
          "祁  縣",
          "平遙縣",
          "靈石縣"
        ]
      },
      {
        "name": "臨汾市",
        "area": [
          "臨汾市",
          "侯馬市",
          "霍州市",
          "曲沃縣",
          "翼城縣",
          "襄汾縣",
          "洪洞縣",
          "古  縣",
          "安澤縣",
          "浮山縣",
          "吉  縣",
          "鄉寧縣",
          "蒲  縣",
          "大寧縣",
          "永和縣",
          "隰  縣",
          "汾西縣"
        ]
      },
      {
        "name": "運城市",
        "area": [
          "運城市",
          "永濟市",
          "河津市",
          "芮城縣",
          "臨猗縣",
          "萬榮縣",
          "新絳縣",
          "稷山縣",
          "聞喜縣",
          "夏  縣",
          "絳  縣",
          "平陸縣",
          "垣曲縣"
        ]
      }
    ]
  },
  {
    "name": "內蒙古",
    "city": [
      {
        "name": "呼和浩特市",
        "area": [
          "新城區",
          "回民區",
          "玉泉區",
          "郊  區",
          "土默特左旗",
          "托克托縣",
          "和林格爾縣",
          "清水河縣",
          "武川縣"
        ]
      },
      {
        "name": "包頭市",
        "area": [
          "東河區",
          "昆都倫區",
          "青山區",
          "石柺礦區",
          "白雲礦區",
          "郊  區",
          "土默特右旗",
          "固陽縣",
          "達爾罕茂明安聯合旗"
        ]
      },
      {
        "name": "烏海市",
        "area": [
          "海勃灣區",
          "海南區",
          "烏達區"
        ]
      },
      {
        "name": "赤峰市",
        "area": [
          "紅山區",
          "元寶山區",
          "松山區",
          "阿魯科爾沁旗",
          "巴林左旗",
          "巴林右旗",
          "林西縣",
          "克什克騰旗",
          "翁牛特旗",
          "喀喇沁旗",
          "寧城縣",
          "敖漢旗"
        ]
      },
      {
        "name": "呼倫貝爾市",
        "area": [
          "海拉爾市",
          "滿洲裡市",
          "扎蘭屯市",
          "牙克石市",
          "根河市",
          "額爾古納市",
          "阿榮旗",
          "莫力達瓦達斡爾族自治旗",
          "鄂倫春自治旗",
          "鄂溫克族自治旗",
          "新巴爾虎右旗",
          "新巴爾虎左旗",
          "陳巴爾虎旗"
        ]
      },
      {
        "name": "興安盟",
        "area": [
          "烏蘭浩特市",
          "阿爾山市",
          "科爾沁右翼前旗",
          "科爾沁右翼中旗",
          "扎賚特旗",
          "突泉縣"
        ]
      },
      {
        "name": "通遼市",
        "area": [
          "科爾沁區",
          "霍林郭勒市",
          "科爾沁左翼中旗",
          "科爾沁左翼後旗",
          "開魯縣",
          "庫倫旗",
          "奈曼旗",
          "扎魯特旗"
        ]
      },
      {
        "name": "錫林郭勒盟",
        "area": [
          "二連浩特市",
          "錫林浩特市",
          "阿巴嘎旗",
          "蘇尼特左旗",
          "蘇尼特右旗",
          "東烏珠穆沁旗",
          "西烏珠穆沁旗",
          "太僕寺旗",
          "鑲黃旗",
          "正鑲白旗",
          "正藍旗",
          "多倫縣"
        ]
      },
      {
        "name": "烏蘭察布盟",
        "area": [
          "集寧市",
          "豐鎮市",
          "卓資縣",
          "化德縣",
          "商都縣",
          "興和縣",
          "涼城縣",
          "察哈爾右翼前旗",
          "察哈爾右翼中旗",
          "察哈爾右翼後旗",
          "四子王旗"
        ]
      },
      {
        "name": "伊克昭盟",
        "area": [
          "東勝市",
          "達拉特旗",
          "準格爾旗",
          "鄂托克前旗",
          "鄂托克旗",
          "杭錦旗",
          "烏審旗",
          "伊金霍洛旗"
        ]
      },
      {
        "name": "巴彥淖爾盟",
        "area": [
          "臨河市",
          "五原縣",
          "磴口縣",
          "烏拉特前旗",
          "烏拉特中旗",
          "烏拉特後旗",
          "杭錦後旗"
        ]
      },
      {
        "name": "阿拉善盟",
        "area": [
          "阿拉善左旗",
          "阿拉善右旗",
          "額濟納旗"
        ]
      }
    ]
  },
  {
    "name": "遼寧省",
    "city": [
      {
        "name": "瀋陽市",
        "area": [
          "瀋河區",
          "皇姑區",
          "和平區",
          "大東區",
          "鐵西區",
          "甦家屯區",
          "東陵區",
          "于洪區",
          "新民市",
          "法庫縣",
          "遼中縣",
          "康平縣",
          "新城子區",
          "其他"
        ]
      },
      {
        "name": "大連市",
        "area": [
          "西崗區",
          "中山區",
          "沙河口區",
          "甘井子區",
          "旅順口區",
          "金州區",
          "瓦房店市",
          "普蘭店市",
          "莊河市",
          "長海縣",
          "其他"
        ]
      },
      {
        "name": "鞍山市",
        "area": [
          "鐵東區",
          "鐵西區",
          "立山區",
          "千山區",
          "海城市",
          "檯安縣",
          "岫巖滿族自治縣",
          "其他"
        ]
      },
      {
        "name": "撫順市",
        "area": [
          "順城區",
          "新撫區",
          "東洲區",
          "望花區",
          "撫順縣",
          "清原滿族自治縣",
          "新賓滿族自治縣",
          "其他"
        ]
      },
      {
        "name": "本溪市",
        "area": [
          "平山區",
          "明山區",
          "溪湖區",
          "南芬區",
          "本溪滿族自治縣",
          "桓仁滿族自治縣",
          "其他"
        ]
      },
      {
        "name": "丹東市",
        "area": [
          "振興區",
          "元寶區",
          "振安區",
          "東港市",
          "鳳城市",
          "寬甸滿族自治縣",
          "其他"
        ]
      },
      {
        "name": "錦州市",
        "area": [
          "太和區",
          "古塔區",
          "淩河區",
          "凌海市",
          "黑山縣",
          "義縣",
          "北寧市",
          "其他"
        ]
      },
      {
        "name": "營口市",
        "area": [
          "站前區",
          "西市區",
          "鮁魚圈區",
          "老邊區",
          "大石橋市",
          "蓋州市",
          "其他"
        ]
      },
      {
        "name": "阜新市",
        "area": [
          "海州區",
          "新邱區",
          "太平區",
          "清河門區",
          "細河區",
          "彰武縣",
          "阜新蒙古族自治縣",
          "其他"
        ]
      },
      {
        "name": "遼陽市",
        "area": [
          "白塔區",
          "文聖區",
          "巨集偉區",
          "太子河區",
          "弓長嶺區",
          "燈塔市",
          "遼陽縣",
          "其他"
        ]
      },
      {
        "name": "盤錦",
        "area": [
          "雙臺子區",
          "興隆臺區",
          "盤山縣",
          "大窪縣",
          "其他"
        ]
      },
      {
        "name": "鐵嶺市",
        "area": [
          "銀州區",
          "清河區",
          "調兵山市",
          "開原市",
          "鐵嶺縣",
          "昌圖縣",
          "西豐縣",
          "其他"
        ]
      },
      {
        "name": "朝陽市",
        "area": [
          "雙塔區",
          "龍城區",
          "凌源市",
          "北票市",
          "朝陽縣",
          "建平縣",
          "喀喇沁左翼蒙古族自治縣",
          "其他"
        ]
      },
      {
        "name": "葫蘆島市",
        "area": [
          "龍港區",
          "南票區",
          "連山區",
          "興城市",
          "綏中縣",
          "建昌縣",
          "其他"
        ]
      },
      {
        "name": "其他",
        "area": [
          "其他"
        ]
      }
    ]
  },
  {
    "name": "吉林省",
    "city": [
      {
        "name": "長春市",
        "area": [
          "朝陽區",
          "寬城區",
          "二道區",
          "南關區",
          "綠園區",
          "雙陽區",
          "九臺市",
          "榆樹市",
          "德惠市",
          "農安縣",
          "其他"
        ]
      },
      {
        "name": "吉林市",
        "area": [
          "船營區",
          "昌邑區",
          "龍潭區",
          "豐滿區",
          "舒蘭市",
          "樺甸市",
          "蛟河市",
          "磐石市",
          "永吉縣",
          "其他"
        ]
      },
      {
        "name": "四平",
        "area": [
          "鐵西區",
          "鐵東區",
          "公主嶺市",
          "雙遼市",
          "梨樹縣",
          "伊通滿族自治縣",
          "其他"
        ]
      },
      {
        "name": "遼源市",
        "area": [
          "龍山區",
          "西安區",
          "東遼縣",
          "東豐縣",
          "其他"
        ]
      },
      {
        "name": "通化市",
        "area": [
          "東昌區",
          "二道江區",
          "梅河口市",
          "集安市",
          "通化縣",
          "輝南縣",
          "柳河縣",
          "其他"
        ]
      },
      {
        "name": "白山市",
        "area": [
          "八道江區",
          "江源區",
          "臨江市",
          "靖宇縣",
          "撫松縣",
          "長白朝鮮族自治縣",
          "其他"
        ]
      },
      {
        "name": "松原市",
        "area": [
          "寧江區",
          "乾安縣",
          "長嶺縣",
          "扶余縣",
          "前郭爾羅斯蒙古族自治縣",
          "其他"
        ]
      },
      {
        "name": "白城市",
        "area": [
          "洮北區",
          "大安市",
          "洮南市",
          "鎮賚縣",
          "通榆縣",
          "其他"
        ]
      },
      {
        "name": "延邊朝鮮族自治州",
        "area": [
          "延吉市",
          "圖們市",
          "敦化市",
          "龍井市",
          "琿春市",
          "和龍市",
          "安圖縣",
          "汪清縣",
          "其他"
        ]
      },
      {
        "name": "其他",
        "area": [
          "其他"
        ]
      }
    ]
  },
  {
    "name": "黑龍江省",
    "city": [
      {
        "name": "哈爾濱市",
        "area": [
          "松北區",
          "道里區",
          "南崗區",
          "平房區",
          "香坊區",
          "道外區",
          "呼蘭區",
          "阿城區",
          "雙城市",
          "尚志市",
          "五常市",
          "賓縣",
          "方正縣",
          "通河縣",
          "巴彥縣",
          "延壽縣",
          "木蘭縣",
          "依蘭縣",
          "其他"
        ]
      },
      {
        "name": "齊齊哈爾市",
        "area": [
          "龍沙區",
          "昂昂溪區",
          "鐵鋒區",
          "建華區",
          "富拉爾基區",
          "碾子山區",
          "梅里斯達斡爾族區",
          "訥河市",
          "富裕縣",
          "拜泉縣",
          "甘南縣",
          "依安縣",
          "克山縣",
          "泰來縣",
          "克東縣",
          "龍江縣",
          "其他"
        ]
      },
      {
        "name": "鶴崗市",
        "area": [
          "興山區",
          "工農區",
          "南山區",
          "興安區",
          "向陽區",
          "東山區",
          "蘿北縣",
          "綏濱縣",
          "其他"
        ]
      },
      {
        "name": "雙鴨山",
        "area": [
          "尖山區",
          "嶺東區",
          "四方臺區",
          "寶山區",
          "集賢縣",
          "寶清縣",
          "友誼縣",
          "饒河縣",
          "其他"
        ]
      },
      {
        "name": "雞西市",
        "area": [
          "雞冠區",
          "恆山區",
          "城子河區",
          "滴道區",
          "梨樹區",
          "麻山區",
          "密山市",
          "虎林市",
          "雞東縣",
          "其他"
        ]
      },
      {
        "name": "大慶市",
        "area": [
          "薩爾圖區",
          "紅崗區",
          "龍鳳區",
          "讓胡路區",
          "大同區",
          "林甸縣",
          "肇州縣",
          "肇源縣",
          "杜爾伯特蒙古族自治縣",
          "其他"
        ]
      },
      {
        "name": "伊春市",
        "area": [
          "伊春區",
          "帶嶺區",
          "南岔區",
          "金山屯區",
          "西林區",
          "美溪區",
          "烏馬河區",
          "翠巒區",
          "友好區",
          "上甘嶺區",
          "五營區",
          "紅星區",
          "新青區",
          "湯旺河區",
          "烏伊嶺區",
          "鐵力市",
          "嘉蔭縣",
          "其他"
        ]
      },
      {
        "name": "牡丹江市",
        "area": [
          "愛民區",
          "東安區",
          "陽明區",
          "西安區",
          "綏芬河市",
          "寧安市",
          "海林市",
          "穆稜市",
          "林口縣",
          "東寧縣",
          "其他"
        ]
      },
      {
        "name": "佳木斯市",
        "area": [
          "向陽區",
          "前進區",
          "東風區",
          "郊區",
          "同江市",
          "富錦市",
          "樺川縣",
          "撫遠縣",
          "樺南縣",
          "湯原縣",
          "其他"
        ]
      },
      {
        "name": "七臺河市",
        "area": [
          "桃山區",
          "新興區",
          "茄子河區",
          "勃利縣",
          "其他"
        ]
      },
      {
        "name": "黑河市",
        "area": [
          "愛輝區",
          "北安市",
          "五大連池市",
          "遜克縣",
          "嫩江縣",
          "孫吳縣",
          "其他"
        ]
      },
      {
        "name": "綏化市",
        "area": [
          "北林區",
          "安達市",
          "肇東市",
          "海倫市",
          "綏稜縣",
          "蘭西縣",
          "明水縣",
          "青岡縣",
          "慶安縣",
          "望奎縣",
          "其他"
        ]
      },
      {
        "name": "大興安嶺地區",
        "area": [
          "呼瑪縣",
          "塔河縣",
          "漠河縣",
          "大興安嶺轄區",
          "其他"
        ]
      },
      {
        "name": "其他",
        "area": [
          "其他"
        ]
      }
    ]
  },
  {
    "name": "上海市",
    "city": [
      {
        "name": "上海市",
        "area": [
          "黃浦區",
          "盧灣區",
          "徐彙區",
          "長寧區",
          "靜安區",
          "普陀區",
          "閘北區",
          "虹口區",
          "楊浦區",
          "寶山區",
          "閔行區",
          "嘉定區",
          "松江區",
          "金山區",
          "青浦區",
          "南匯區",
          "奉賢區",
          "浦東新區",
          "崇明縣",
          "其他"
        ]
      }
    ]
  },
  {
    "name": "江蘇省",
    "city": [
      {
        "name": "南京市",
        "area": [
          "玄武區",
          "白下區",
          "秦淮區",
          "建鄴區",
          "鼓樓區",
          "下關區",
          "棲霞區",
          "雨花臺區",
          "浦口區",
          "江寧區",
          "六合區",
          "溧水縣",
          "高淳縣",
          "其他"
        ]
      },
      {
        "name": "蘇州市",
        "area": [
          "金閶區",
          "平江區",
          "滄浪區",
          "虎丘區",
          "吳中區",
          "相城區",
          "常熟市",
          "張家港市",
          "崑山市",
          "吳江市",
          "太倉市",
          "其他"
        ]
      },
      {
        "name": "無錫市",
        "area": [
          "崇安區",
          "南長區",
          "北塘區",
          "濱湖區",
          "錫山區",
          "惠山區",
          "江陰市",
          "宜興市",
          "其他"
        ]
      },
      {
        "name": "常州市",
        "area": [
          "鐘樓區",
          "天寧區",
          "慼墅堰區",
          "新北區",
          "武進區",
          "金壇市",
          "溧陽市",
          "其他"
        ]
      },
      {
        "name": "鎮江市",
        "area": [
          "京口區",
          "潤州區",
          "丹徒區",
          "丹陽市",
          "揚中市",
          "句容市",
          "其他"
        ]
      },
      {
        "name": "南通市",
        "area": [
          "崇川區",
          "港閘區",
          "通州市",
          "如皋市",
          "海門市",
          "啟東市",
          "海安縣",
          "如東縣",
          "其他"
        ]
      },
      {
        "name": "泰州市",
        "area": [
          "海陵區",
          "高港區",
          "姜堰市",
          "泰興市",
          "靖江市",
          "興化市",
          "其他"
        ]
      },
      {
        "name": "揚州市",
        "area": [
          "廣陵區",
          "維揚區",
          "邗江區",
          "江都市",
          "儀徵市",
          "高郵市",
          "寶應縣",
          "其他"
        ]
      },
      {
        "name": "鹽城市",
        "area": [
          "亭湖區",
          "鹽都區",
          "大豐市",
          "東臺市",
          "建湖縣",
          "射陽縣",
          "阜寧縣",
          "濱海縣",
          "響水縣",
          "其他"
        ]
      },
      {
        "name": "連雲港市",
        "area": [
          "新浦區",
          "海州區",
          "連雲區",
          "東海縣",
          "灌雲縣",
          "贛榆縣",
          "灌南縣",
          "其他"
        ]
      },
      {
        "name": "徐州市",
        "area": [
          "雲龍區",
          "鼓樓區",
          "九里區",
          "泉山區",
          "賈汪區",
          "邳州市",
          "新沂市",
          "銅山縣",
          "睢寧縣",
          "沛縣",
          "豐縣",
          "其他"
        ]
      },
      {
        "name": "淮安市",
        "area": [
          "清河區",
          "清浦區",
          "楚州區",
          "淮陰區",
          "漣水縣",
          "洪澤縣",
          "金湖縣",
          "盱眙縣",
          "其他"
        ]
      },
      {
        "name": "宿遷市",
        "area": [
          "宿城區",
          "宿豫區",
          "沭陽縣",
          "泗陽縣",
          "泗洪縣",
          "其他"
        ]
      },
      {
        "name": "其他",
        "area": [
          "其他"
        ]
      }
    ]
  },
  {
    "name": "浙江省",
    "city": [
      {
        "name": "杭州市",
        "area": [
          "拱墅區",
          "西湖區",
          "上城區",
          "下城區",
          "江乾區",
          "濱江區",
          "餘杭區",
          "蕭山區",
          "建德市",
          "富陽市",
          "臨安市",
          "桐廬縣",
          "淳安縣",
          "其他"
        ]
      },
      {
        "name": "寧波市",
        "area": [
          "海曙區",
          "江東區",
          "江北區",
          "鎮海區",
          "北侖區",
          "鄞州區",
          "餘姚市",
          "慈溪市",
          "奉化市",
          "寧海縣",
          "象山縣",
          "其他"
        ]
      },
      {
        "name": "溫州市",
        "area": [
          "鹿城區",
          "龍灣區",
          "甌海區",
          "瑞安市",
          "樂清市",
          "永嘉縣",
          "洞頭縣",
          "平陽縣",
          "蒼南縣",
          "文成縣",
          "泰順縣",
          "其他"
        ]
      },
      {
        "name": "嘉興市",
        "area": [
          "秀城區",
          "秀洲區",
          "海寧市",
          "平湖市",
          "桐鄉市",
          "嘉善縣",
          "海鹽縣",
          "其他"
        ]
      },
      {
        "name": "湖州市",
        "area": [
          "吳興區",
          "南潯區",
          "長興縣",
          "德清縣",
          "安吉縣",
          "其他"
        ]
      },
      {
        "name": "紹興市",
        "area": [
          "越城區",
          "諸暨市",
          "上虞市",
          "嵊州市",
          "紹興縣",
          "新昌縣",
          "其他"
        ]
      },
      {
        "name": "金華市",
        "area": [
          "婺城區",
          "金東區",
          "蘭溪市",
          "義烏市",
          "東陽市",
          "永康市",
          "武義縣",
          "浦江縣",
          "磐安縣",
          "其他"
        ]
      },
      {
        "name": "衢州市",
        "area": [
          "柯城區",
          "衢江區",
          "江山市",
          "龍遊縣",
          "常山縣",
          "開化縣",
          "其他"
        ]
      },
      {
        "name": "舟山市",
        "area": [
          "定海區",
          "普陀區",
          "岱山縣",
          "嵊泗縣",
          "其他"
        ]
      },
      {
        "name": "台州市",
        "area": [
          "椒江區",
          "黃巖區",
          "路橋區",
          "臨海市",
          "溫嶺市",
          "玉環縣",
          "天台縣",
          "仙居縣",
          "三門縣",
          "其他"
        ]
      },
      {
        "name": "麗水市",
        "area": [
          "蓮都區",
          "龍泉市",
          "縉雲縣",
          "青田縣",
          "雲和縣",
          "遂昌縣",
          "松陽縣",
          "慶元縣",
          "景寧畲族自治縣",
          "其他"
        ]
      },
      {
        "name": "其他市",
        "area": [
          "其他"
        ]
      }
    ]
  },
  {
    "name": "安徽省",
    "city": [
      {
        "name": "合肥市",
        "area": [
          "廬陽區",
          "瑤海區",
          "蜀山區",
          "包河區",
          "長豐縣",
          "肥東縣",
          "肥西縣",
          "其他"
        ]
      },
      {
        "name": "蕪湖市",
        "area": [
          "鏡湖區",
          "弋江區",
          "鳩江區",
          "三山區",
          "蕪湖縣",
          "南陵縣",
          "繁昌縣",
          "其他"
        ]
      },
      {
        "name": "蚌埠