【问题标题】:How to get image url如何获取图片网址
【发布时间】:2018-07-21 08:25:46
【问题描述】:

如果我使用以下方法从 Twitter API 解析推文:

  tweet.entities.media

我得到下面的 json。但是我将如何访问 media_url 属性?它嵌套在 json 对象内一个非常困难的地方。

 tweet.entities.media[0].media_url

返回错误。

{
  "image": [
    {
      "id": 511403875438301200,
      "id_str": "511403875438301185",
      "indices": [
        44,
        66
      ],
      "media_url": "http://some_url.jpg",
      "media_url_https" : "https: //some_url.jpg",
      "url": "http://whatever.com",
      "display_url": "pic.twitter.com/BNIPh3ZlRD",
      "expanded_url": "https://twitter.com/some_url/1",
      "type": "photo",
      "sizes": {
        "thumb": {
          "w": 150,
          "h": 150,
          "resize": "crop"
        },
        "small": {
          "w": 680,
          "h": 482,
          "resize": "fit"
        },
        "large": {
          "w": 2048,
          "h": 1453,
          "resize": "fit"
        },
        "medium": {
          "w": 1200,
          "h": 851,
          "resize": "fit"
        }
      }
    }
  ]
}

【问题讨论】:

    标签: javascript json twitter nodes


    【解决方案1】:

    如何访问 media_url?

    在我看来你只是缺少image[0]

    tweet.entities.media.image[0].media_url
    

    $(document).ready(function() {
    var tweet = jQuery.parseJSON( '{"entities":{"media":{"image":[{"id":511403875438301200,"id_str":"511403875438301185","indices":[44,66],"media_url":"http://pbs.twimg.com/media/BxjfHXxCEAETmig.jpg","media_url_https":"https: //pbs.twimg.com/media/BxjfHXxCEAETmig.jpg","url":"http://whatever.com","display_url":"pic.twitter.com/BNIPh3ZlRD","expanded_url":"https://twitter.com/AWish4Me/status/511403876642463744/photo/1","type":"photo","sizes":{"thumb":{"w":150,"h":150,"resize":"crop"},"small":{"w":680,"h":482,"resize":"fit"},"large":{"w":2048,"h":1453,"resize":"fit"},"medium":{"w":1200,"h":851,"resize":"fit"}}}]}}}');
    document.body.innerHTML = tweet.entities.media.image[0].media_url;
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    【讨论】:

    • 感谢您。不知道我做错了什么,但是当我使用 tweet.entities.media[0] 时,它会在我尝试访问 image[0].media_url 之前返回错误
    • 取决于 JSON 的结构,试试这个:tweet.entities.media.image[0].media_url我已经更新了我的答案
    【解决方案2】:

    我想我明白了。 因为有些推文没有图片,所以它很糟糕。 我必须检查空属性...

     return  {"image_url":(tweet.entities.media!==undefined)?((tweet.entities.media[0]!=="")?(tweet.entities.media[0].media_url):('')): ('') };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多