Android端接收PHP后台数据解析不全,获取Data数据为Null

问题描述:

项目中在和后台对接接口数据返回的时候 没有按照后台命名规范 导致解析数据源为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 还是断点调试 还是请同事帮忙当问题解决 总是那么的心情愉快

共勉

我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天
1

猜你喜欢

转载自blog.csdn.net/Life_s/article/details/106194465