@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地址:https://github.com/google/gson