簡體   English   中英

從JSON feed構造URL

[英]Construct the URL from JSON feed

有人可以告訴我我在這里做錯了什么嗎?

我正在嘗試構建圖像URL,但現在使用flickr.photos.search方法(我需要顯示接近訪客地理位置的圖像),我在使用groups_pool.gne之前已經使用過它,並且JSON提要不同(更簡單)格式化但現在..

URL有效,我得到了包含我需要的所有數據(服務器場,服務器,機密和ID)的數組,但是無法為照片構造URL。

$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_\
key=KEY&format=json&privacy_filter=0&media=photos&has_geo=1&accuracy=13&sort=int\
erestingness-desc&content_type=1&per_page=32&extras=geo,owner_name&page=1&radius\
_units=km&radius=1.521739&lat=40.952532&lon=-4.1326349999999366&text=Alcazar&jso\
ncallback=jsonp1320163051486", getJSONimages);

function getJSONimages(data) {
  var htmlString = "";

  $.each(data.photos.photo, function(i,item){
    htmlString += '<img src="http://farm'+ item.farm +'.static.flickr.com/'+
      item.server +'/'+ item.id +'_'+ item.secret +'_m.jpg" />';
  });

  $('#slideshow').html(htmlString);

謝謝。


我已經在URL的Extras中添加了url_m以獲取JSON feed,並且在feed中獲得了完整的URL,這應該有所幫助,因為我不必將其余部分連接在一起,但仍然無法正常工作。

我無法使它正常工作,而且據我所知非常簡單,這非常令人沮喪。 好吧,顯然不適合我。

在循環中獲取url_m之后,這是我的功能:

function getJSONimages(data) {
var htmlString = "";
$.each(data.photos.photo, function(i,item){
// var url = (item.url_m).replace("\", "");
htmlString += '<img src="' + item.url_m + '" />';
});
$('#slideshow').html(htmlString);
}

即使我使用“ url”變量,也不會使用相同的結果。

但是,我注意到了一些事情。

在使用groups_pool.gne的feed中,我能夠成功提取照片,我這樣進入了media.m:

$.each(data.items, function(i,item){
var biggestSize = (item.media.m).replace("_m.jpg", ".jpg");
htmlString += '<img src="' + biggestSize + '" />';

請注意,我有物品,然后是媒體,然后是m,這是它自己的價值! 實際上是項目。[媒體:{m:PHOTOURL}]。

與使用flickr.photos.search方法的其他JSON提要一樣,我具有以下“對象路徑”:jsonFlickrApi.photos.photo [{url_m:PHOTOURL}]

並嘗試使用此循環:

$.each(data.photos.photo, function(i,item){
htmlString += '<img src="' + item.url_m + '" />';

我認為這是我的問題,但我不知道如何解決 顯然,兩個供稿之間存在不同的結構:

項目。[媒體:{m:PHOTOURL}]照片。照片[{url_m:PHOTOURL}]

我將對jQuery循環進行更多研究。 有任何想法嗎?

奇怪的是,這些文檔沒有提到獲得農場。 您可以在$ .each循環中console.log您的項目並查看得到了什么嗎? http://www.flickr.com/services/api/flickr.photos.search.html

盡管假設您掌握了所有這些內容,但顯然這是正確的URL格式: http : //www.flickr.com/services/api/misc.urls.html

編輯你能告訴我這是什么意思(在警告框中):

$.each(data.photos.photo, function(i,item){
  var url = 'http://farm'+ item.farm +'.static.flickr.com/' + item.server +'/'+ item.id +'_'+ item.secret +'_m.jpg';
  alert(url);
});

URL不是JSON對象,因此您無法解析它。 您正在嘗試獲取URL參數。 包括以下功能並像這樣使用它。

lat = querySt('lat');
lon = querySt('lon');


function querySt(ji) {

    hu = window.location.search.substring(1);

    gy = hu.split("&");

        for (i=0;i<gy.length;i++) {

            ft = gy[i].split("=");

            if (ft[0] == ji) {

            return ft[1];

        }

    }

}

您可能要修改此部分

hu =window.location.search.substring(1);

hu = yourURLVariable;

如果您從其他地方獲取URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM