2012-08-08 43 views
0

我試圖從twitter的搜索結果中獲取url,但是在數組中獲取了未定義的值。 有誰知道爲什麼沒有得到的網址?嘗試從twitter的搜索結果中獲取url值

function get(){ 
    var array=[]; 
     $.getJSON("http://search.twitter.com/search.json?q=euronews&rpp=5& 
     include_entities=true&result_type=mixed&callback=?", 
     function(data){ 
    $.each(data.results, function(i, item){ 
     var user=item.from_user; 
     var user_id=item.from_user_id; 
     var date=item.created_at; 
     var profile_img=item.profile_image_url; 
     var url=item.entities.urls[0].url; 
    create_array(user,user_id,date,profile_img,url); 
    }); 

    function create_array(a,b,c,d,e){ 
     array.push({user:a,user_id:b,date:c,profile_img:d,url:e}); 

        }console.log(array); 
}); 
} 

此JSON文件,我從Twitter的搜索結果中獲得的結構: http://search.twitter.com/search.json?q=euronews&rpp=5&include_entities=true&result_type=mixed

歡呼:))

回答

1

您得到undefined的原因是因爲item.entities.urls是陣列。事實證明,並非所有結果都有數組。這應該爲你工作:

var array = []; 

$.getJSON("http://search.twitter.com/search.json?q=euronews&rpp=5&include_entities=true&result_type=mixed&callback=?", 
    function(data){ 
     $.each(data.results, function(i, item){ 
      array.push({ 
       user: item.from_user, 
       user_id: item.from_user_id, 
       date: item.created_at, 
       profile_img: item.profile_image_url, 
       url: (item.entities.urls.length > 0 ? item.entities.urls[0].url : '') 
      }); 
     }); 
     console.log(array); 
    } 
); 
+0

現在我得到類型錯誤:item.entities.urls [1]未定義 – 2012-08-08 15:21:54

+0

只有一個數組中的值,所以item.entities.urls [1]將是不確定的。將您的代碼發佈到主要問題的編輯中,以便我可以看到您在做什麼。 – 2012-08-08 15:23:54

+0

我必須把代碼放在上面的評論。你可以看到它嗎?它說,感謝您的編輯! 只有在您進行同行評審之前,您才能看到此編輯。 – 2012-08-08 15:31:44