我正在循环从Flickr返回的JSON。我希望以下内容可以提醒0,1,2,3...
等索引,但它会警告id,server,farm,etc
$.each(data.photo, function(index,item){
alert(index);
});
修改 的
顺便说一句,我正在使用method=flickr.photos.getInfo
var Info = "http://api.flickr.com/services/rest/?method=flickr.photos.getInfo";
Info += "&api_key=" + "myapikey";
Info+= "&photo_id="+item.id;
Info += "&format=json";
Info+= "&jsoncallback=?";
$.getJSON(Info,loaded);
function loaded(){
$.each(data.photo, function(index,item){
//Trying to get number of JSON Object (I am getting the info for 52 photos)....
//I want to alert 0 through 52 here and do some further processing
});
}
修改 的
正如工程师所指出的那样,我不应该绕过这个而应该只是
使用data.photo.....
答案 0 :(得分:1)
data.photo
是哈希地图,这就是您在(key,value)
中获得'each' callback
对的原因。
根据API 'method=flickr.photos.getInfo'
返回一张照片的信息。这意味着,data.photo
是一堆属性((键,值)对),没有任何枚举的含义那些。
答案 1 :(得分:1)
flickr.photos.getInfo
以对象形式({})返回单张照片。
{
photo: {
owner: 1,
title: 'photo title',
// etc.
}
}
如果(a)它们已被分配给对象(非常不寻常)或(b)您正在使用的API方法返回对象的数组,您只希望接收数字键。
photos: [{
owner: 1,
title: 'photo 1'
}, {
owner: 1,
title: 'photo 2'
}]
答案 2 :(得分:0)
如果你想索引而不是id,server,firm那么你可以试试这个
var count = 0;
$.each(data.photo, function(index,item){
alert(index + ' is at ' + count);
count++;
});