首页 > 解决方案 > 无法在纽约时报 API 中访问图片网址

问题描述

我正在尝试访问 results.media.media-metadata.url 以动态放置 URL src 属性并显示新闻的图像,但我只能访问结果。媒体,之后的任何内容都返回 undefined 或引发错误。

我试过了:

latestNews[i]['media']['media-metadata']['url']

latestNews[i][media][media-metadata][url]

latestNews[i]media.[media-metadata].url

latestNews[i]media.media-metadata.url

来自 API 的响应后的代码:

JSON URL:https ://api.nytimes.com/svc/mostpopular/v2/shared/1/facebook.json?api-key=Dsak6ljecPclOkCgEeAdB1dmdr1bEqAC

let output = "";
      let latestNews = newsdata.results; //newsdata is the response

      for (var i in latestNews) {
        console.log(latestNews[i]['media']) //----> this works and outputs the object but i cant go any further.
        output += `
          <div class="col l4 m6 s12">
          <div class="card medium hoverable">
            <div class="card-image">
              <img src = "#" class = "responsive-img" //--> the src is where i want to put the url
 alt = "${latestNews[i].title}" >
            </div>
            <div class="card-content">
              <span class="card-title activator"><i class="material-icons right">more_vert</i></span>
              <h6 class="truncate">Title: <a href="${latestNews[i].url}" title="${latestNews[i].title}">${latestNews[i].title}</a></h6>
              <p><b>Author</b>: ${latestNews[i].byline} </p>
              <p><b>News source</b>: ${latestNews[i].source} </p>
              <p><b>Published Date</b>: ${latestNews[i].published_date} </p>
            </div>

            <div class="card-reveal">
              <span class="card-title"><i class="material-icons right">close</i></span>
              < p> <b> Description </b>: ${latestNews[i].abstract}</>
            </div>

            <div class="card-action">
              <a href="${latestNews[i].url}" target="_blank" class="btn">Read More</a>
            </div>
           </div>
          </div>
        `;

标签: javascriptapi

解决方案


  • media是数组
  • media-metadata也是数组

它应该像results[0].media[0]["media-metadata"][0].url


推荐阅读