Gson和fastJson 解析嵌套泛型的json数据

Test

        /*
         * {
         "code": 1,
         "datas": [{
         "address": "深圳",
         "age": 18,
         "email": "123@qq.com",
         "nickName": "小明",
         "phoneNumber": "11111111111",
         "sex": "男"
         }, {
         "address": "广州",
         "age": 21,
         "email": "234@qq.com",
         "nickName": "小红",
         "phoneNumber": "22222222222",
         "sex": "女"
         }, {
         "address": "北京",
         "age": 19,
         "email": "453@qq.com",
         "nickName": "小黑",
         "phoneNumber": "33333333333",
         "sex": "男"
         }, {
         "address": "杭州",
         "age": 18,
         "email": "789@qq.com",
         "nickName": "小强",
         "phoneNumber": "44444444444",
         "sex": "男"
         }],
         "msg": "成功"
         }
         */
        System.out.print(str);

        
        /*
        fastJson 方式
         */
        ResponseResult<List<UserInfo>> responseResult1 = JSON.parseObject(str, new TypeReference<ResponseResult<List<UserInfo>>>() {});
        System.out.print(responseResult1);

        /*
        Gson方式
         */
        Gson gson = new Gson();
        ResponseResult<List<UserInfo>> responseResult2 = gson.fromJson(str , new TypeToken<ResponseResult<List<UserInfo>>>(){}.getType());
        System.out.print(responseResult2);

包装泛型实体类

public class ResponseResult<T> {
    /**
     * 服务器返回标识
     */
    private int code;

    /**
     * 描述
     */
    private String msg;

    /**
     * 请求成功之后的数据
     */
    private T datas;

    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 T getDatas() {
        return datas;
    }

    public void setDatas(T datas) {
        this.datas = datas;
    }
}

实体类

public class UserInfo {

    private String nickName;

    private Integer age;

    private String sex;

    private String address;

    private String email;

    private String phoneNumber;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值