后端给出的数据格式,若字段命名不统一时
/**
* 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值的问