2016-12-13 70 views
1

的JSON陣列馬平對象AppData陣列到字符串

heatPoints = AppData.map(function (point) { 
     return [point.Latitude, point.Longitude]; 
}); 

返回

console.log(JSON.stringify(heatPoints)); 

[[49.2898,-123.1364],[49.2752,-88.150209833],[49.2286, - 123.1515]

但我需要將它們加載到JSON Points作爲JSON字符串裏的陣列ke:

var schoolPoints = { 
        "Points": [ 
           {"latitude":49.2898,"longitude":-123.1364}, 
           {"latitude":49.2752,"longitude":-123.0719}, 
           {"latitude":49.2286,"longitude":-123.1515} 
         ] 
        }; 

請問我可以怎麼做?

回答

4

更改地圖返回一個對象,而不是一個數組,像這樣:

heatPoints = AppData.map(function (point) { 
    return { 
     "latitude": point.Latitude, 
     "longitude": point.Longitude 
    }; 
}); 

然後,你還可以將其設置爲一個屬性變量,以獲得您所請求的特定JSON:

heatPoints = {"Points": heatPoints}; 

這將導致您請求的確切JSON。

2

map用於重新格式化項目。你可以像下面一樣使用它。

heatPoints = { 
    "Points": AppData.map(function (point) { 
     return { 
      "latitude" : point.Latitude, 
      "longitude" : point.Longitude 
     }; 
    }) 
};