预期 BEGIN_ARRAY 但在 GitHub API 中的第 1 行第 2 列路径 $ BEGIN_OBJECT

Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ in GitHub API

我正在使用 GitHub API 通过以下 URL 获取一些数据。但是在第 1 行第 2 列路径 $ 出现错误 Expected BEGIN_ARRAY 但是 BEGIN_OBJECT,虽然我已经检查了一些相关的答案但无法解决我的问题。所以如果有人能帮助我就太好了。

https://api.github.com/search/users?q=tom+repos:%3E10+followers:%3E100

@GET
Call<List<UserBase>> getTrendingDevelopers(@Url String url, @Query("q") String q);

回调:

final Call<List<UserBase>> trendingDevelopersCall = apiService.getTrendingDevelopers("users?",url);
    trendingDevelopersCall.enqueue(new Callback<List<UserBase>>() {
        @Override
        public void onResponse(Call<List<UserBase>> call, Response<List<UserBase>> response) {
            if (response.isSuccessful()){
                if (response.body() != null){
                    if (response.body().size() > 0){
                        trendingDevelopers.setValue(response.body().get(0).getItems());
                    }
                }
            }
        }

        @Override
        public void onFailure(Call<List<UserBase>> call, Throwable t) {
            trendingDevelopers.setValue(null);
        }
    });

您收到此错误是因为您期望响应是一个对象,但实际上得到的是一个列表。

在这个@GET Call getTrendingDevelopers(@Url String url, @Query("q") String q); 函数你告诉你你的响应是一个列表,但它不是。您需要为 API 的回复创建一个相关的 class。