以下組裝數據能夠直接將轉換後的
json
保存到數據庫;若是有更新,直接從新請求一次就能夠!javascript
文檔地址:https://lbs.amap.com/api/webservice/guide/api/districtjava
https://restapi.amap.com/v3/config/district?key=您的Web服務Key&keywords=100000&subdistrict=3&extensions=base
ios
/** * 從新組裝數據 */
function assemblyData (targetArray, data, parent){
data.forEach((city, index) => {
let temp = JSON.parse(JSON.stringify(city));
// 若是temp 中存在 districts 刪除 temp.districts
if (temp.hasOwnProperty("districts")) delete temp.districts;
temp.parent = parent
targetArray.push(temp);
// 若是citycode是一個數組 且長度爲 0 轉換爲空字符串
if(Object.prototype.toString.call(temp.citycode) === "[object Array]" && temp.citycode.length === 0) temp.citycode = "";
// 若是city 中存在 districts 繼續遍歷
if(city.hasOwnProperty("districts")) assemblyData(targetArray, city.districts, city.adcode);
})
}
axios.get("https://restapi.amap.com/v3/config/district?key=8d8109dec1b41de638b9e04bd21bc2fa&keywords=100000&subdistrict=3&extensions=base")
.then((result) => {
let data = result.data.districts,
resultContet = [];
assemblyData(resultContet, data, "country");
console.log(resultContent)
}).catch((err) => {
throw new Error(err)
});
複製代碼