[英]Parse JSON response in javascript
我正在使用AngularJS構建應用,並且嘗試在Google地圖上繪制位置。 我有一個如下所示的JSON響應:
locations: [{
id: 123
latlng: {
lat: 56.3
lon: -2.1
}
name: TestName
}]
我正在使用的指令( angular-google-maps )要求標記必須采用以下格式。 我想做的是創建一個僅包含lat和lng值的新數組,如下所示。 我還需要將經緯度重命名為經度和緯度:
markers: [ {
latitude: 45,
longitude: -74
},{
latitude: 46,
longitude: -75
}]
我是編程的新手,尤其是在javascript中。 我試圖查看是否可以在JSON響應中訪問latlng對象,但未定義。 看起來像這樣:
for (var latlng in $scope.locations) {
if ($scope.locations.hasOwnProperty(latlng))
{
var latitude = $scope.locations[latlng].lat;
}
console.log(latitude);
}
提前致謝!
$scope.locations[latlng]
將您帶到包含latlng鍵的對象,而不是該鍵引用的對象。 由於迭代變量是數組的索引,因此使用反映該名稱的名稱會減少混亂,例如, i
代替latlng
:
for (var i in $scope.locations) {
…
var latitude = $scope.locations[i].latlng.lat;
…
}
在大多數JavaScript實現中,您還有另一個選擇:
$scope.locations.forEach(function(location) {
…
var latitude = location.latlng.lat;
…
});
(還請注意@rtcherry的評論。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.