提问者:小点点

应为BEGIN_ARRAY,但在GitHub API中第1行第2列路径$处为BEGIN_OBJECT


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

https://api.github.com/search/users?q=tom+repos:%3e10+追随者:%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);
        }
    });

共1个答案

匿名用户

之所以会出现此错误,是因为您希望响应是一个对象,但实际得到的却是一个列表。

在此@Get Call<;List>;中;getTrendingDevelopers(@url字符串url,@Query(“q”)字符串q);函数告诉您的响应是一个列表,但它不是。您需要为API的响应创建一个相关的类。