问题描述:
项目中在和后台对接接口数据返回的时候 没有按照后台命名规范 导致解析数据源为null
Json数据如下
{
"code":2000,
"message":"登陆成功",
"requestDomain":"http://xxx.cc",
"user":[
{
"id":34,
"appid":0,
"auid":0,
"username":"12838853366",
"nickname":"匿名侠",
...
}
]
}
在解析json数据的时候,一般我们会把固定不变的类型定义为BaseBean
问题解决
即:
public class BaseBean<T> implements Serializable {
private int code;
private String message;
private String requestDomain;
private List<T> user;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public List<T> getData() {
return user;
}
public void setData(List<T> data) {
this.user = data;
}
public String getRequestDomain() {
return requestDomain;
}
public void setRequestDomain(String requestDomain) {
this.requestDomain = requestDomain;
}
public void setCode(int code) {
this.code = code;
}
public @Constants.NetworkStatus
int getCode() {
return code;
}
}
我的问题在于 在定义BaseBean的时候没有按照后台返回的类型定义
感觉自己很蠢 这个问题卡了很久 很抱歉 所以在此记录一下这个错误
这个数据类型 变量名 不是由我们前端控制的 后台返回什么就应该定义为什么
不然解析不出来 result 就会返回 null
//就是这四个数据类型
private int code;
private String message;
private String requestDomain;
private List <T> user;
总结
排错的过程总是惊人的相似 但又找不到问题所在
内心的烦躁 无法言表让心静下来 从问题的起点 开始一步步摸索
无论是Log 还是断点调试 还是请同事帮忙当问题解决 总是那么的心情愉快
共勉
我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天