AriesHoo / FastLib

一个Android项目级快速开发框架,节约大部分写常用功能时间以实现更多项目业务功能及体验上的优化。使用说明见wiki
https://github.com/AriesHoo/FastLib/wiki
Apache License 2.0
492 stars 95 forks source link

数据解析问题 #55

Closed yueye410 closed 4 years ago

yueye410 commented 4 years ago

我用public来映射json数据,没设置get和set,后台返回空list时候,提示json数据格式化错误,有数据时候正常解析,这是为什么呢?🐶

AriesHoo commented 4 years ago

贴一下。后台空数据和正常数据的大概模样

yueye410 commented 4 years ago

result里面的mycart,我也不知道是不是我哪里搞的有问题,谢谢。

// 有数据 { "code":200, "msg":"操作成功", "proxy":{ "type":"", "cover":"", "title":"", "headline":"", "button":"确定", "url":"", "msglist":[

    ],
    "comm_id":"",
    "comm_type":"",
    "model":""
},
"result":{
    "mycart":[
        {
            "store_id":1,
            "store_name":"EE古董店",
            "id":1,
            "goodsList":[
                {
                    "id":1,
                    "title":"宋代古董花瓶古董瓷器",
                    "img":"/upload/goods/goods1.png",
                    "price":990
                }
            ]
        }
    ],
    "address":[

    ]
},
"state":0

}

// 无数据 { "code":200, "msg":"购物车空空哒,主人快添加几个吧", "proxy":{ "type":"pop", "cover":"", "title":"购物车空空哒", "headline":"主人快添加几个吧", "button":"去添加", "url":"/home", "msglist":{ "msg":"购物车空空哒,主人快添加几个吧" }, "comm_id":"", "comm_type":"", "model":"home" }, "result":{ "mycart":[

    ],
    "address":[

    ]
},
"state":0

}

// 对应实体 public class JCartDto extends JBaseDto {

public JCartResultDto result;

public class JCartResultDto{
    public List<JCartCartDto> mycart;
    public List<JCartAddressDto> address;
}

public class JCartCartDto{
    public String store_id;
    public String store_name;
    public String id;
    public List<JGoodsListDto> goodsList;
}

public class JGoodsListDto{
    public String id;
    public String title;
    public String img;
    public String price;
}

public class JCartAddressDto{

}

}

// basedto public class JBaseDto implements Serializable { private int code; private String msg; private int state; private JProxyDto proxy;

public int getCode() {
    return code;
}

public void setCode(int code) {
    this.code = code;
}

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

public int getState() {
    return state;
}

public void setState(int state) {
    this.state = state;
}

public JProxyDto getProxy() {
    return proxy;
}

public void setProxy(JProxyDto proxy) {
    this.proxy = proxy;
}

}

// proxy public class JProxyDto implements Serializable { private String type; private String cover; private String title; private String headline; private String button; private String url; private List msglist; private String comm_id; private String comm_type; private String model; public void setType(String type) { this.type = type; } public String getType() { return type; }

public void setCover(String cover) {
    this.cover = cover;
}
public String getCover() {
    return cover;
}

public void setTitle(String title) {
    this.title = title;
}
public String getTitle() {
    return title;
}

public void setHeadline(String headline) {
    this.headline = headline;
}
public String getHeadline() {
    return headline;
}

public void setButton(String button) {
    this.button = button;
}
public String getButton() {
    return button;
}

public void setUrl(String url) {
    this.url = url;
}
public String getUrl() {
    return url;
}

public void setMsglist(List<JMessageDto> msglist) {
    this.msglist = msglist;
}

public void setComm_id(String comm_id) {
    this.comm_id = comm_id;
}
public String getComm_id() {
    return comm_id;
}

public void setComm_type(String comm_type) {
    this.comm_type = comm_type;
}
public String getComm_type() {
    return comm_type;
}

public void setModel(String model) {
    this.model = model;
}
public String getModel() {
    return model;
}

}

AriesHoo commented 4 years ago

成功的msgList返回的是List 失败msgList返回的对象。解析用的List image image image 你觉得解析得出来不?

AriesHoo commented 4 years ago

同一个解析实体,返回的字段对应得都不是同一类型的解析肯定要报错

yueye410 commented 4 years ago

大佬这真是火眼金睛,我看了半天,特意测试了几个别的地方空数据,结果就这个出问题了,唉,谢谢。🙏