预期 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。
我正在使用 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。