我遇到了可以返回ARRAY或OBJECT的API的问题,下面是数据格式:
OBJECT格式:
ContextLogHandler
ARRAY格式:
{
"info":"no package",
"time":"04-20-2016"
}
在检查了一些帖子(Custom converter for Retrofit 2,Multiple converters with Retrofit 2)之后,我有一些线索,它应该用Gson解串器或自定义转换器处理,但我的情况似乎有点不同。那怎么处理呢?提前谢谢。
更新:将示例更改为更合适的示例。
答案 0 :(得分:0)
Chaosphinx
我同意您的问题与您引用的帖子不同。
您的第一个Json在您的请求中有关于和异常的信息,并且在您的请求成功时返回第二个。我建议你在转换Json之前检查Response HTTP Code。如果代码是202(java.net.HttpURLConnection.HTTP_OK),是因为您请求成功并且API将返回第二个Json,那么您将转换为object。如果代码是其他东西是因为发生了异常,你应该以不同的方式处理它。
一个例子:
Response<List<MyObject>> response = myResource.myMethod().execute();
switch (response.code()) {
case HTTP_OK:
return response.body();
default:
//OPS! Request has failed!
}