请求失败,又不知道什么原因,该怎么解决
private void getData() { String baseUrl1 = "http://demo.wp-api.org/"; Retrofit retrofit1 = new Retrofit.Builder() .baseUrl(baseUrl1) .addConveterFactory(GsonConverterFactory.create()) .build(); ArticleaaApi articleaaApi=retrofit1.create(ArticleaaApi.class); Call<ArticleBean> articleBeanCall = articleaaApi.getArticle(); articleBeanCall.enqueue(new Callback<ArticleBean>() { @Override public void onResponse(Call<ArticleBean> call, Response<ArticleBean> response) { System.out.println("S"); } @Override public void onFailure(Call<ArticleBean> call, Throwable t) { System.out.println("F"); } }); }
API :
public interface ArticleaaApi { @GET("wp-json/wp/v2/posts") Call<ArticleBean> getArticle(); }
感谢各位,找到异常了:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
对于这种带数组的 json 数据该怎么用 Gson 解析呢? http://demo.wp-api.org/wp-json/wp/v2/posts
搞定了,谢谢大家! 有时候就是这样子,这么明显的错误自己就是没有看出来。
public interface ArticleaaApi { @GET("wp-json/wp/v2/posts") Call<List<ArticleBean>> getArticle(); }
![]() | 1 kamikat 2016-08-31 11:34:49 +08:00 Log.e("F", t); |
![]() | 2 sjn9588 2016-08-31 11:51:30 +08:00 t.getMessage() |
3 Override 2016-08-31 12:12:35 +08:00 我仿佛又听到有人在背后偷偷 @我 |
![]() | 4 sunus 2016-08-31 13:03:02 +08:00 直接 attach retrofit 源码打断点呗 |
![]() | 5 baozijun 2016-08-31 14:28:10 +08:00 gson 不能转换,可能是你的 bean 有问题,或者返回的信息解析成功,把 response 信息打印出来看一下。 |
6 给 bean 套一个 list |
![]() | 7 jinhan13789991 2016-08-31 15:23:29 +08:00 就正常的 List<Data> 啊, gson 有自动获取 type 树,然后转化的 |
8 x9498 2016-09-01 18:01:15 +08:00 daibi |