为什么这个jQuery .each没有正确循环json数据?

Cha*_*eus 4 jquery json loops

这是我的ajax电话:

$.ajax({ 
    url: 'url-to-json',
    type: 'POST',
    dataType: 'json',
    cache: 'false',
    data: { lat: lat, lng: lng }
}).done(function(data) {
    $.each(data, function(a) {
        alert(data[a]);
    });
});
Run Code Online (Sandbox Code Playgroud)

这是它正在迭代的json:

[
{"Id":"4c75bd5666be6dcb9f70c10f","Name":"BXtra","EnglishName":null,"Lat":35.7515869140625,"Lng":139.33872985839844},

{"Id":"4c5160a1d2a7c9b655d51211","Name":"??????? ?????","EnglishName":null,"Lat":35.750205993652344,"Lng":139.33448791503906},

...
]
Run Code Online (Sandbox Code Playgroud)

但是实际上不是让我访问json数组中每个项的属性,而是逐个遍历数组中的每个字符.

我究竟做错了什么?

jac*_*ers 9

您可以通过$.each两种方式修改功能:

$.each(data, function(index,el) {
    // el = object in array
    // access attributes: el.Id, el.Name, etc
});
Run Code Online (Sandbox Code Playgroud)

要么,

$.each(data, function() {
    // this = object in array
    // access attributes: this.Id, this.Name, etc
});
Run Code Online (Sandbox Code Playgroud)

如果datadone函数中的字符串而不是对象,则需要运行

data = $.parseJSON(data)
Run Code Online (Sandbox Code Playgroud)

$.each循环之前