我正在尝试解析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等并显示在页面上?
谢谢
你应该做:
$.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 } }