[英]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.