我正在尝试从Web上托管的JSON文件访问数据。 JSON格式如下:
{"markers":[
{
"latitude":57.7973333,
"longitude":12.0502107,
"title":"Angered",
"content":"Representing :)"
},
{
"latitude":57.6969943,
"longitude":11.9865,
"title":"Gothenburg",
"content":"Swedens second largest city"
}
]
"markersupdate": []
}
我的目标是从对象中获取数据,例如纬度和经度。我尝试了以下代码:
$.ajax({
type: "GET",
url: 'URL TO MY JSON',
dataType: "json",
success: function (data) {
if (data.length !== 0) {
//Here I tried using data.markers istead of data, but it did not seem to work
$.each( data, function (marker, data) {
//Here I want to be able to access e.g. data.longitude
});
}
},
});
问题似乎是它没有正确导入数据。
我该如何解决这个问题?
由于
答案 0 :(得分:1)
确保您正在遍历作为数组的markers
属性。因此,请调整if
条件以及要迭代的对象:
success: function (data) {
if (data.markers.length !== 0) {
$.each(data.markers, function (index, marker) {
alert(marker.longitude);
});
}
}
另请注意,传递给$.each
函数的回调的第一个参数是数组中元素的索引,第二个参数是元素本身。或者,您可以使用this
来访问正在迭代的当前元素:
$.each(data.markers, function () {
alert(this.longitude);
});