【问题标题】:jQuery, JSON, Flickr APIjQuery、JSON、Flickr API
【发布时间】:2011-11-10 19:27:32
【问题描述】:
    $.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

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" })

请帮助我逃离这个可怕的猜谜游戏。

谢谢。

【问题讨论】:

    标签: jquery json flickr


    【解决方案1】:

    使用

    $.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 of 'Original' 的元素..

    【讨论】:

      【解决方案2】:

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

       $.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);
      
          }
      });
      

      【讨论】:

        【解决方案3】:

        试试这个。

        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/

        【讨论】:

          猜你喜欢
          • 2011-03-18
          • 2012-12-08
          • 2011-06-06
          • 1970-01-01
          • 2012-02-13
          • 2011-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多