尝试从twitter的搜索结果中获取url值
问题描述:
我试图从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
欢呼:))
答
您得到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);
}
);
现在我得到类型错误:item.entities.urls [1]未定义 – 2012-08-08 15:21:54
只有一个数组中的值,所以item.entities.urls [1]将是不确定的。将您的代码发布到主要问题的编辑中,以便我可以看到您在做什么。 – 2012-08-08 15:23:54
我必须把代码放在上面的评论。你可以看到它吗?它说,感谢您的编辑! 只有在您进行同行评审之前,您才能看到此编辑。 – 2012-08-08 15:31:44