获取JSON数组中的特定对象

时间:2015-12-05 21:23:48

标签: javascript json ajax

我正在尝试从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
                });
            }

        },

    });

问题似乎是它没有正确导入数据。

我该如何解决这个问题?

由于

1 个答案:

答案 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);
});