@SerializedName
此注解作用在属性上,表明这个属性在序列化成Json的时候,需要将名字序列化成注解的value属性指定的值。
我们有一段json数据如下:
{"id":"1" "n":"zhangsan" "p":"123456" "s":"0"}
这是一个user的数据包括id、用户名、密码、性别,如果正常些一个user类来解析的话是这样的:
public class User{private String id; private String n; private String p; private String s;}
User类要这样写才能直接使用Gson直接解析出来,但是这样的话User类的属性命名就不太友好了,那我们要怎么做呢?Gson提供注解的方法来解决这个问题@SerializedName,使用方法如下:
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。
github地址:/google/gson