我需要搜索JSON数据并找到包含“kind”“播放列表”的每个对象,然后遍历轨道并提取将放入hmtl列表中的信息。问题在于,在某些情况下(取决于URL的类型)而不是包含所有对象的多维数组,json信息只是一个单一对象。jQuery - 通过JSON数组搜索
下面是两种url类型。
这是一个包含一个级别的信息的播放列表。 http://api.soundcloud.com/playlists/1980151.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd
这是一个只包含多个播放列表作为对象的数组。 http://api.soundcloud.com/users/dubstep/playlists.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd
当前代码我是这样的:
$.getJSON('http://api.soundcloud.com/users/dubstep/playlists.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd', { get_param: 'value' }, function(url_data) {
$.each(url_data, function (i, elem) {
if (elem.kind === 'playlist') {
$.each(elem.tracks, function (i, elem) {
console.log(elem.title);
});
}
});
});
它只有适用于处理有多个播放列表的“用户”URL。
总结我的问题是,我需要一种方法来搜索数组的所有级别,以寻找具有===播放列表的级别。
当我拥有多个播放列表时,此功能完美无缺!但是,如果我使用http://api.soundcloud.com/playlists/1980151.json?client_id=bcc776e7aa65dbc29c40ff21a1a94ecd它不会工作,因为“TypeError:'null'不是一个对象(评估'elem.kind')” –
哇,这超出了呼叫的范围!太棒了。干杯! –