当前位置: 首页 > 知识库问答 >
问题:

如何使用带Gson的Spotify web api获取相册艺术

关翰
2023-03-14

我正在使用SpotifyWebAPI获取包含唱片集信息的json对象。

这里是模型url

https://api.spotify.com/v1/search?q=album:arrival%20artist:abba&type=album

假设我正在寻找《涅磐》的专辑《无畏》,我有一个url

https://api.spotify.com/v1/search?q=album:无心艺术家:涅槃

我在这里为Gson制作了一个“模型对象”

public class SpotifyAlbumInfo {

    public CollectionInfo collectionInfo;

    public class CollectionInfo {

        String href;
        List<Album> albums;     
        Integer limit;
        String next;      
        Integer offset;
        String previous;  
        Integer total6;

        public class Album{
            String album_type;
            String[] available_markets;
            Urls external_urls;
            String href;
            String id;
            List<Image> images;
            String name;
            String type;
            String uri;

            public class Urls{
                String source;
            }

            public class Image {
                Integer height;
                String url;
                Integer width;
            }
        }
    }
}

在这里,我尝试获取第一个图像url

for(int i=0;i<response.collectionInfo.albums.images.size();i++){       
    if(response.collectionInfo.albums.image.get(i).contains("nevermind")){
        imageUrl = response.collectionInfo.albums.images.get(i).url;
        break;
    }
}

问题是这句话很好

response.collectionInfo.albums.size();

但是我不能用

response.collectionInfo.albums.images.size();

因为我得到的错误符号不存在

我得到同样的错误为这些语句。

response.collectionInfo.albums.images.size(); 
response.collectionInfo.albums.album_type.size();
response.collectionInfo.albums.href.size();
// etc

我如何去“更深一层”到我的“模型对象”,并获得我想要的图像网址?

共有1个答案

蒙化
2023-03-14

你需要从列表中得到一张特定的专辑

collectionInfo.albums

对于列表界面,没有图像字段,可能有错误代码试图告诉您。

你可以这样钻下去

Album album0 = collectionInfo.albums.get(0);
album0.images.size()
 类似资料:
  • 我可以通过调用这个网址查看Spotify上的所有曲目: http://ws.spotify.com/search/1/track.json?q=xxx 示例响应包含每个曲目的艺术家数据,如: 从上面的响应中,我得到了艺术家ID:38IfmizrHTCxFjd8UKhWnp。 现在,有没有一种方法可以通过api调用获得上述艺术家(38IfmizrHTCxFjd8UKhWnp)的所有曲目? 我想做的是

  • 我可以使用代码1将正确地保存到使用Gson的json字符串中,但是当我尝试用代码2从json字符串中还原对象时,我遇到了错误。我已经搜索了一些资源,似乎我需要注册一个InstanceCreator。 我如何用Kotlin编写一个register an代码?谢谢! 错误 添加 在我使用之后,我使用时可以得到正确的结果,为什么?

  • 可以使用Spotify Web API在Spotify目录中按名称搜索相册。 但是,如果相册名称是常见的单词或短语,则搜索响应可能包含数千个结果。我看不出有什么办法能缩小艺人名字的搜索范围。 这里有一个例子:搜索专辑国家由艺术家大熊猫游击配音班。 API请求为: 答复是: 有更好的办法吗?

  • 问题内容: 我有一个网址: 和相对路径: 我想使用变量和 怎么做? 问题答案:

  • 我想从API中获取countynames,它返回嵌套对象; 等等,有200多个国家,每个县都有自己的“编号”。最后,我想列出所有“姓名”信息。我想我应该使用JsonDeserializer,但不幸的是我不能。

  • 问题内容: 我可以使用Gson正确地使用代码1保存到json字符串,但是当我尝试使用代码2从json字符串恢复对象时出现错误。我搜索了一些资源,似乎我需要注册InstanceCreator。 如何用Kotlin 写一个注册码?谢谢! 错误 代码1 代码2 我的课 添加 我使用后,我能得到正确的结果,当我用,为什么呢? 问题答案: Gson很难像您一样反序列化多态对象。这是您需要做的: 将Runti