字段重命名@SerializedName

it2023-06-26  68

字段重命名@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来解决命名不友好的问题了

最新回复(0)