首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery、JSON、Flickr API

jQuery、JSON、Flickr API
EN

Stack Overflow用户
提问于 2011-09-06 02:22:07
回答 3查看 5.8K关注 0票数 2
代码语言:javascript
复制
    $.ajax({
    url: "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&format=json&api_key=708f179518b2093d23f0aef284b565a4&photo_id=6115633659&jsoncallback=?",
    type: "GET",
    cache: true,
    dataType:'jsonp',
    success: function (data) {           

    var largeSRC = data.sizes.size.Original;

    alert(largeSRC);

    }
});

所以,基本上,我不知道怎么...我甚至不知道该怎么形容它。我正在尝试获取原始大小的URL。http://www.flickr.com/services/api/explore/flickr.photos.getSizes

代码语言:javascript
复制
jsonFlickrApi({ "sizes": { "canblog": 0, "canprint": 0, "candownload": 1, 
"size": [
  { "label": "Square", "width": 75, "height": 75, "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_500f8bbd74_s.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/sq\/", "media": "photo" },
  { "label": "Thumbnail", "width": 100, "height": 66, "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_500f8bbd74_t.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/t\/", "media": "photo" },
  { "label": "Small", "width": "240", "height": "159", "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_500f8bbd74_m.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/s\/", "media": "photo" },
  { "label": "Medium", "width": "500", "height": "331", "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_500f8bbd74.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/m\/", "media": "photo" },
  { "label": "Medium 640", "width": "640", "height": "424", "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_500f8bbd74_z.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/z\/", "media": "photo" },
  { "label": "Large", "width": "1024", "height": "678", "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_500f8bbd74_b.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/l\/", "media": "photo" },
  { "label": "Original", "width": "1440", "height": "954", "source": "http:\/\/farm7.static.flickr.com\/6068\/6115633659_cdaca906e1_o.jpg", "url": "http:\/\/www.flickr.com\/photos\/b34u_h4r13y_n47h4n_7h0m45\/6115633659\/sizes\/o\/", "media": "photo" }
] }, "stat": "ok" })

请帮我从这个可怕的猜谜游戏中脱身。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-06 02:29:32

使用

代码语言:javascript
复制
$.ajax({
    url: "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&format=json&api_key=708f179518b2093d23f0aef284b565a4&photo_id=6115633659&jsoncallback=?",
    type: "GET",
    cache: true,
    dataType: 'jsonp',
    success: function(data) {

        var sizelist = data.sizes.size;
        for (var i = 0; i < sizelist.length; i++) {
            if (sizelist[i].label == 'Original') largeSRC = sizelist[i].source;
        }

        alert(largeSRC);

    }
});

http://jsfiddle.net/NGr23/上演示

问题是size是一个数组。因此,您需要迭代它的元素,以找到label为'Original‘的元素。

票数 5
EN

Stack Overflow用户

发布于 2011-09-06 02:26:23

试试这个http://jsfiddle.net/genesis/TyDHK/5/

代码语言:javascript
复制
 $.ajax({
    url: "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&format=json&api_key=708f179518b2093d23f0aef284b565a4&photo_id=6115633659&jsoncallback=?",
    type: "GET",
    cache: true,
    dataType: 'jsonp',
    success: function(data) {

        var largeSRC = data.sizes.size[6].width + ' ' + data.sizes.size[6].height ;

        alert(largeSRC);

    }
});
票数 1
EN

Stack Overflow用户

发布于 2011-09-06 03:07:00

尝尝这个。

代码语言:javascript
复制
var url = "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&format=json&api_key=708f179518b2093d23f0aef284b565a4&photo_id=6115633659&jsoncallback=?";
var largeSRC = "";
$.getJSON(url, function(data) {
    $.each(data.sizes.size, function(i, datum) {
        $.each(datum, function(key, value) {
            if (key === "label" && value === "Original") {
                largeSRC = datum.source;
                alert(largeSRC);
            }
        });
    });
});

演示:http://jsfiddle.net/naveen/PZNT6/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7311538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档