标签 gosn 下的文章

关于“@SerializedName”注解


由于JSON中的一些字段可能不太适合直接作为Java字段来命名, 因此这
里使用了@SerializedName注解的方式来让JSON字段和Java字段之间建
立映射关系。

下面说说具体使用方法:
  我们有一段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。这样就解决了java对象里属性名跟json里字段名不匹配的情况了。


shijiebei 365bet manbetx 188bet xinshui caipiao 95zz tongbaoyule beplay 88bifa 18luck betway bwin hg0088 aomenjinshayulecheng ca88 shenbotaiyangcheng vwin w88 weide