我是gson解析的新手。我有回复
{"data":[23, "Nithinlal P.A"]}
有时我得到了回复
{"data":false}
我正在使用Retrofit 2 Http客户端库。所以在得到这样的响应时我收到错误。我怎么能克服这个问题。
答案 0 :(得分:1)
如果您知道给定请求将返回什么类型的数据,您可以使用以下方法:
将数据字段设置为T
对象中的泛型APIResponse
,例如
public class APIResponse<T>{
private T data;
public T getData();
}
然后,对于第一个响应,您应该创建一个名为User
的类class User{
private long id;
private String name;
}
并为您的改造API添加方法:
@GET("/api/user")
void getUser(Callback< APIResponse <User>> callback);
对于第二个响应,您将添加方法
@GET("/api/status")
void getStatus(Callback< APIResponse <Boolean>> callback);
注意强> 目前,您的第一个响应返回一个类型不一致的数组。例如。第一项是整数(23),第二项是字符串(&#34; Nithinlal P.A&#34;) 您的第一个响应应该是JSON对象。