fastjost 在反序列化多层嵌套时出现有的字段解析不出来,请大家指点

本文详细解析了在使用JSON反序列化时遇到的问题,即LoginInfo类中的List<NameCode> Dept和ChildDept列表在预期中应该包含内容,但实际反序列化后却为空。通过分析代码和内容,揭示了可能的错误原因并提供了解决方案。
我使用的结构体为:
import java.util.ArrayList;

import java.util.List;

import android.R;
import android.R.integer;

public class LoginInfo {

    private String status;
    private String message;

    private Entity data = new Entity();


        public void setStatus(String status) {
            this.status= status;
        }
        public String getStatus() {
            return status;
        }
        public void setMessage(String message) {
            this.message= message;
        }
        public String getMessage() {
            return message;
        }


    public Entity getData(){
        return data;
    }
    public void setData(Entity data){
        this.data = data;
    }

    
    public LoginInfo(){
        
    }
    
    public class Entity{
        private String name;
        private String email;
        private String roleName;
        private String token;
        private String userCode;
        private String userPhone;
        
        private int iSonduty;
        private int setRate;
        
        private NameCode posCode = new NameCode();
        private List<NameCode> Dept = new ArrayList<NameCode>();
        
        private List<NameCode> ChildDept = new ArrayList<NameCode>();
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
        public String getRoleName() {
            return roleName;
        }
        public void setRoleName(String roleName) {
            this.roleName = roleName;
        }
        public String getToken() {
            return token;
        }
        public void setToken(String token) {
            this.token = token;
        }
        public String getUserCode() {
            return userCode;
        }
        public void setUserCode(String userCode) {
            this.userCode = userCode;
        }
        public String getUserPhone() {
            return userPhone;
        }
        public void setUserPhone(String userPhone) {
            this.userPhone = userPhone;
        }
        public int getISonduty() {
            return iSonduty;
        }
        public void setISonduty(int iSonduty) {
            this.iSonduty = iSonduty;
        }
        public int getSetRate() {
            return setRate;
        }
        public void setSetRate(int setRate) {
            this.setRate = setRate;
        }
        public NameCode getPosCode() {
            return posCode;
        }
        public void setPosCode(NameCode posCodes) {
            this.posCode = posCodes;
        }
        public List<NameCode> getDepts() {
            return Dept;
        }
        public void setDepts(List<NameCode> Dept) {
            this.Dept = Dept;
        }
        public List<NameCode> getChildDepts() {
            return ChildDept;
        }
        public void setChildDepts(List<NameCode> ChildDept) {
            this.ChildDept = ChildDept;
        }
        
        
        public class NameCode{
            private String Name;
            private String Code;
            public String getName() {
                return Name;
            }
            public void setName(String name) {
                this.Name = name;
            }
            public String getCode() {
                return Code;
            }
            public void setCode(String code) {
                this.Code = code;
            }
        }
        
    }
    
    @Override
    public String getAPIUrl() {
        return AppUrls.API_LOGIN;
    }

}


调用的方法:LoginInfo info = JSON.parseObject(content, LoginInfo);

上面的content为
{
    "Status":"S",
    "Message":"登录成功!",
    "Data":
        {
            "Name":"管理员",
            "Email":"aaccca@qq.com",
            "RoleName":"管理员",
            "Token":"4e5528886",
            "UserCode":"admin",
            "UserPhone":"132xxxxxxxx",
            "ISonduty":0,
            "SetRate":5,
            "PosCode":
                {
                "Name":"主管",
                "Code":"01"
                },
            "Dept":
            [
                {
                    "Name":"北京xxxxxxxx总公司",
                    "Code":"0001"
                }
            ],
            "ChildDept":
            [
                {"Name":"上海xxxxxxxx总公司","Code":"0001"},
                {"Name":"广州分公司","Code":"00010001"},
                {"Name":"上海分公司","Code":"00010002"},
                {"Name":"北京分公司","Code":"00010003"}
            ]
        }
}

反序列化出来的结果是

 List<NameCode> Dept 和List<NameCode> ChildDept 列表里都为空,而正常应该有内容的

谢谢大家指点,哪里出错了,谢谢






转载于:https://my.oschina.net/u/1172518/blog/140320

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值