@SerializedName 用法

 后端给出的数据格式,若字段命名不统一时

   /**
     * downloadUrl : http://xxxxxx.apk
     * versionCode : 3
     * versionDes : 1.1.3版本发布了
     * versionName : 1.1.3
     */

 //在此添加后台可能返回的异常json key别名
    @SerializedName(value = "downloadUrl", alternate = {"downloadurl", "DownloadUrl", "Downloadurl"})
    private String downloadUrl;
    @SerializedName(value = "versionCode", alternate = {"versioncode", "VersionCode", "Versioncode"})
    private String versionCode;
    @SerializedName(value = "versionDes", alternate = {"VersionDes", "versiondes", "Versiondes"})
    private String versionDes;
    @SerializedName(value = "versionName", alternate = {"VersionName", "versionname", "Versionname"})
    private String versionName;

    public String getDownloadUrl() {
        return downloadUrl;
    }

    public void setDownloadUrl(String downloadUrl) {
        this.downloadUrl = downloadUrl;
    }

    public String getVersionCode() {
        return versionCode;
    }

    public void setVersionCode(String versionCode) {
        this.versionCode = versionCode;
    }

    public String getVersionDes() {
        return versionDes;
    }

    public void setVersionDes(String versionDes) {
        this.versionDes = versionDes;
    }

    public String getVersionName() {
        return versionName;
    }

    public void setVersionName(String versionName) {
        this.versionName = versionName;
    }
 

在@SerializedName(value = "downloadUrl", alternate = {"downloadurl", "DownloadUrl", "Downloadurl"})中有两个属性设置,value="默认key",alternate="别名key1,别名key2...",别名可以有多个,多个别名用“ , ”分隔。如此便降低了数据别名不统一造成的解析异常概率,解决由于key不一致拿不到value值的问
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值