Javascript jQuery从JSON数组获取图片url
我正在使用YQL获取《纽约时报》的JSON提要。我试图通过以下方法获取缩略图:Javascript jQuery从JSON数组获取图片url,javascript,jquery,json,Javascript,Jquery,Json,我正在使用YQL获取《纽约时报》的JSON提要。我试图通过以下方法获取缩略图:,但得到了ypeError:无法读取未定义的属性“0”。我可以知道如何获取具有阵列的第一个缩略图吗 "docs": [{ "headline": { "main": "AP Source: Jackson to Be Introduced by Knicks", "print_headline": "AP Source: Jackson
,但得到了ypeError:无法读取未定义的属性“0”。我可以知道如何获取具有阵列的第一个缩略图吗
"docs": [{
"headline": {
"main": "AP Source: Jackson to Be Introduced by Knicks",
"print_headline": "AP Source: Jackson to Be Introduced by Knicks"
}
}, {
"headline": {
"main": "Every Dog Has Its Data ",
"kicker": "Well",
"print_headline": "With Technology, Every Dog Has Its Data"
},
"multimedia": [{
"width": "190",
"url": "images/2014/03/11/science/11PETS1_SPAN/11PETS1-thumbWide.jpg",
"height": "126",
"subtype": "wide",
"legacy": {
"wide": "images/2014/03/11/science/11PETS1_SPAN/11PETS1-thumbWide.jpg",
"wideheight": "126",
"widewidth": "190"
},
"type": "image"
}, {
"width": "600",
"url": "images/2014/03/11/science/11PETS2/11PETS2-articleLarge.jpg",
"height": "338",
"subtype": "xlarge",
"legacy": {
"xlargewidth": "600",
"xlarge": "images/2014/03/11/science/11PETS2/11PETS2-articleLarge.jpg",
"xlargeheight": "338"
},
"type": "image"
}, {
"width": "75",
"url": "images/2014/03/11/science/11PETS3/11PETS3-thumbStandard.jpg",
"height": "75",
"subtype": "thumbnail",
"legacy": {
"thumbnailheight": "75",
"thumbnail": "images/2014/03/11/science/11PETS3/11PETS3-thumbStandard.jpg",
"thumbnailwidth": "75"
},
"type": "image"
}]
},
我的代码:
$(data.query.results.json.response.docs).each(function (index, doc) {
item_html += '<li>' + doc.headline.main + '<p><img src="' + (doc.multimedia[0].url || '') + '" /></li>';
});
$(data.query.results.json.response.docs)。每个(函数(索引,doc){
item_html+=''+doc.headline.main+' ';
});
由于并非文档
数组的每个对象都有多媒体
属性,因此您需要首先检查它是否存在
$(data.query.results.json.response.docs).each(function (index,doc) {
item_html += '<li>' +doc.headline.main;
if(doc.multimedia && doc.multimedia[0]){
item_html+='<p><img src="' + ( doc.multimedia[0].url || '' )+ '" /></p>';
}
item_html += '</li>';
});
$(data.query.results.json.response.docs)。每个(函数(索引,doc){
item_html+=''+doc.headline.main;
if(doc.multimedia&&doc.multimedia[0]){
项目html+='';
}
项目_html+=' ';
});
您也可以使用此快捷方式
item_html += '<li>' + doc.headline.main + '<p><img src="' + ( (doc.multimedia && doc.multimedia[0]) ? doc.multimedia[0].url : '' ) + '" /></li>';
item_html+=''+doc.headline.main+' ';
它使用if快捷方式条件?真实陈述:虚假陈述
并非每个标题都有JSON所示的图像,doc.多媒体
在这种情况下可以是未定义的
。谢谢。它起作用了。我认为使用'+(doc.multimedia[0].url | |'')+'
检查数组是否为空就足够了。@user35295,不,它只检查url
是否为空,添加了一行快捷方式,您可以使用。