2016-12-13 4 views
1

Maping ein Objekt AppData wieArray zu JSON Array von Strings

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

kehrt

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

[[49,2898, -123,1364], [49,2752, -88,150209833], [49,2286, - 123.1515]]

aber ich muss sie in JSON Points als ein Array von JSON String li laden ke:

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

können Sie bitte lassen Sie mich wissen, wie dies zu tun ist?

Antwort

4

Ihre Karte Ändern Sie ein Objekt anstelle eines Arrays zurück, etwa so:

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

Dann zusätzlich es als eine Eigenschaft auf eine Variable gesetzt, um Sie können die spezifischen JSON Sie aufgefordert zu erhalten:

heatPoints = {"Points": heatPoints}; 

Das ergibt den genauen JSON, den Sie angefordert haben.

2

Die map wird verwendet, um die Elemente neu zu formatieren. Sie können es wie folgt verwenden.

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