gson解析复杂json数据使用JsonBean

{
    "resultCode": "0",
    "userInfoVos": [     
        {
            "userInfoVo": {
                "msisdn": "17876607589",
                "packageCode": "PV.VRR",
                "packageName": "无语音",
                "openTime": "2017-01-12",
                "productName": "无线宽带专网",
                "state": "正常使用",
                "apnId": "1",
                "apnName": "CMNET",
                "packageStartTime": "2017-01-12",
                "packageEndTime": "2037-01-01",
                "ipAddr": "-1",
                "activateTime": "2017-01-12"
            }
        },
        {
            "userInfoVo": {
                "msisdn": "17876607589",
                "packageCode": "VP.999.VRR.1032",
                "packageName": "动力100行业卡语音套餐包",
                "openTime": "2017-01-12",
                "productName": "无线宽带专网",
                "state": "正常使用",
                "apnId": "1",
                "apnName": "CMNET",
                "packageStartTime": "2017-01-12",
                "packageEndTime": "2037-01-01",
                "ipAddr": "-1",
                "activateTime": "2017-01-12"
            }
        }       
        }
    ]

}



第一层解析类

import java.util.List;

public class JsonBean {

    private String resultCode;
    private List userInfoVos;
    public String getResultCode() {
        return resultCode;
    }
    public void setResultCode(String resultCode) {
        this.resultCode = resultCode;
    }
    public List getUserInfoVos() {
        return userInfoVos;
    }
    public void setUserInfoVos(List userInfoVos) {
        this.userInfoVos = userInfoVos;
    }       
}

第二层解析类

public class UserInfoVos {

private UserInfoVo userInfoVo;

public UserInfoVo getUserInfoVo() {
    return userInfoVo;
}

public void setUserInfoVo(UserInfoVo userInfoVo) {
    this.userInfoVo = userInfoVo;
}

public static class UserInfoVo {

    private String packageCode;
    private String packageName;
    private String openTime;
    private String state;
    private String apnName;
    private String packageStartTime;
    private String packageEndTime;
    private String activateTime;
    public String getPackageCode() {
        return packageCode;
    }
    public void setPackageCode(String packageCode) {
        this.packageCode = packageCode;
    }
    public String getPackageName() {
        return packageName;
    }
    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }
    public String getOpenTime() {
        return openTime;
    }
    public void setOpenTime(String openTime) {
        this.openTime = openTime;
    }
    public String getState() {
        return state;
    }
    public void setState(String state) {
        this.state = state;
    }
    public String getApnName() {
        return apnName;
    }
    public void setApnName(String apnName) {
        this.apnName = apnName;
    }
    public String getPackageStartTime() {
        return packageStartTime;
    }
    public void setPackageStartTime(String packageStartTime) {
        this.packageStartTime = packageStartTime;
    }
    public String getPackageEndTime() {
        return packageEndTime;
    }
    public void setPackageEndTime(String packageEndTime) {
        this.packageEndTime = packageEndTime;
    }
    public String getActivateTime() {
        return activateTime;
    }
    public void setActivateTime(String activateTime) {
        this.activateTime = activateTime;
    }
}
}

解析过程方法

Gson gson = new Gson();
            JsonBean jsonBean = gson.fromJson(json, JsonBean.class);
            List userInfoVo=jsonBean.getUserInfoVos();

           for(int i=0;i             UserInfoVo infoVo=userInfoVo.get(i).getUserInfoVo();
            String packageCode= infoVo.getPackageCode();
            String packageName= infoVo.getPackageName();
            String openTime= infoVo.getOpenTime();
            String state=  infoVo.getState();
            String apnName= infoVo.getApnName();
            String packageStartTime= infoVo.getPackageStartTime();
            String packageEndTime= infoVo.getPackageEndTime();
            String activateTime= infoVo.getActivateTime();
            System.out.println(packageCode);
            System.out.println(packageName);
            System.out.println(openTime);
        }

你可能感兴趣的:(java)