Javascript jQuery从JSON数组获取图片url

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

我正在使用YQL获取《纽约时报》的JSON提要。我试图通过以下方法获取缩略图:
,但得到了
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
    是否为空,添加了一行快捷方式,您可以使用。