一尘不染

如何使用AJAX接收JSON文件并使用javascript进行解析?

ajax

我正在尝试解析foursquare给我的非常长且复杂的JSON。这是我的AJAX请求:

    $.ajax({
      url: 'https://api.foursquare.com/v2/venues/explore',
      dataType: 'json',
      data: 'limit=7&ll='+latitude+','+longitude+'&client_id='+client_id+'&client_secret='+client_secret+'',
      async: false,
      success: getVenues(data)
});

我正在使用getVenues来对JSON进行排序并在页面上显示相关内容。我遇到的第一个问题是,我不知道如何告诉成功函数它应该处理从服务器接收的数据-
该数据是否存储在某个变量中?我目前正在做getVenues(data),但它告诉我’data’不是定义的变量。但是,许多在线教程似乎只对这个神秘的“数据”执行功能而感到满意,并且它们似乎起作用。

接下来,我在解析JSON本身时遇到了麻烦。这是我要处理的JSON的简化版本:http :
//pastie.org/4382619。如何选择场地名称和ID等并显示在页面上?

谢谢


阅读 179

收藏
2020-07-26

共1个答案

一尘不染

你应该做:

$.ajax({
    // some other code
    success: getVenues
});

您正在告诉ajax:“使用getVenues函数”,而不是“使用getVenus(data)值”。至于第二个问题:

var l = data.response.groups.length;
for (var i = 0; i < l; i++) {
    var group = data.response.groups[i];
    var k = group.items.length;
    for (var j = 0; j < k; j++) {
        var venue = group.items[j].venue;
        // use venue as you wish
    }
}
2020-07-26