java.lang.IllegalArgumentException: declares multiple JSON fields named status

本文探讨了解决GoSN解析时遇到的字段重名问题,具体为子类和父类中存在同名字段'status'的情况。通过在父类的同名字段前添加'transient'关键字,避免了解析时出现的错误,确保了模型能够正确解析。

解析遇到的问题

子类有一个字段叫status,父类也有一个字段叫status

public class BaseModel<T> {

    public String time;
    public String message;
    public int code;
    public int status; // 如果子model中有相同的status字段,需要加上transient,不然会报错,说你有两个重复的字段
    public T data;


}

public class ApplyBrilliantProgressModel extends BaseModel {


    public String id;
    public String uid;
    public String total_business_fee;
    public int status; // 跟父类的字段重名了
    public String remark;

}

这个时候用gosn解析的时候,会报一个错误
java.lang.IllegalArgumentException: declares multiple JSON fields named status

解决方法

在父类的重名的字段前面加上transient

public class BaseModel<T> {

    public String time;
    public String message;
    public int code;
    public transient int status; // 如果子model中有相同的status字段,需要加上transient,不然会报错,说你有两个重复的字段
    public T data;


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值