首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >artwork_url在曲目列表中为空,具有单个曲目的值。虫子?

artwork_url在曲目列表中为空,具有单个曲目的值。虫子?
EN

Stack Overflow用户
提问于 2014-08-04 14:21:44
回答 2查看 304关注 0票数 7

一个随机查询,比如

https://api.soundcloud.com/tracks.json?genre=Rnbhiphop

给出了类似于

代码语言:javascript
复制
[  
   {  
      "kind":"track",
      "id":161532719,
      (...)
      "artwork_url":null,
      (...)
   },
{  
      "kind":"track",
      "id":161532718,
      (...)
      "artwork_url":null,
      (...)
   },
   (..)
]

在很多情况下,artwork_url是空的,尽管这是不一致的。

然而,当查看单个音轨id 161532719 (上面列表中的第一个)时

http://api.soundcloud.com/tracks/161532719.json

我们会得到

代码语言:javascript
复制
{  
   "kind":"track",
   "id":161532719,
   (...)
   "artwork_url":"http://i1.sndcdn.com/artworks-000087026689-ogd56p-large.jpg?e76cf77",
   (...)
}

..。奇怪的是,这揭示了曲目161532719具有有效的artwork_url。许多其他曲目也是如此。

这是一个bug,还是我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2014-11-15 07:03:30

它看起来像是集合端点(在本例中是genre),有一个后端bug,其中不能获取图片。

代码语言:javascript
复制
null

与未定义的不同,而是故意设置的。如果遇到空值,您可以使用从单个轨道端点收集的数据,将其聚合到那里的轨道数据。

如果您选择这样做,我建议您在获得所需的id后立即触发跟踪端点的请求,并使用id进行更新。

票数 1
EN

Stack Overflow用户

发布于 2014-12-18 04:07:53

如果音轨的上传者没有附加图像,Soundcloud将显示上传者的头像。但是,当你试图从这类曲目的JSONObject中获取"artwork_url“时,你会得到"null”。

要解决此问题,并使用相同的逻辑Soundcloud,只需添加:

代码语言:javascript
复制
String artUrl = trackJson.getString("artwork_url");
if (artUrl == "null") {
    JSONObject user = trackJson.getJSONObject("user");
    artUrl = user.getString("avatar_url");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25112796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档