【发布时间】:2018-04-20 18:52:29
【问题描述】:
型号
public class Result<T> {
private String code;
private String msg;
private T data;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
Api结果
成功(数据可能是字符串、列表等)
{
"code":200,
"msg":"success",
"data":{
"name":"zhangsan",
"age":18
}
}
失败
{
"code":401,
"msg":"success",
"data":[]
}
或
{
"code":401,
"msg":"success",
"data":""
}
当结果为失败时发生异常
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 23 path $.data
我只想跳过“数据”字段,因为它在失败结果时未使用, 并保留其他字段。也不例外
可以使用TypeAdapterFactory TypeAdapter跳过数据吗?怎么办???
【问题讨论】:
-
您用于 API 调用的任何库? (喜欢
Retrofit) -
@Prathamesh Toradmal 是的
标签: android gson retrofit okhttp