字段重命名@SerializedName(“字符串”) 注解
@SerializedName可以更改字段名,还能提供备用名属性:alternate,使用如下:
@SerializedName(value = "email_address",alternate = {"emailAddress","email"})
当上面的三个属性(email_address、email、emailAddress)中出现任意一个时都能进行解析。
注:当多种情况同时出时,以最后一个出现的值为准。
public class User{
private String id;
@SerializedName("n")
private String userName;
@SerializedName("p")
private String password;
@SerializedName("s")
private String sex;
}
这样再使用Gson解析的时候就会将n对应的值赋值到userName属性上,同样的如果我们要将User生成json字符串使用Gson生成的时候也会将userName的名字生成n。
注:使用Gson解析json成对象时默认的是将json里对应字段的值解析到java对象里对应字段的属性里面,所以说java对象里的属性名跟json里的字段名是要相同的,这时候既可以使用@SerializedName来解决命名不友好的问题了