美文网首页
Android @SerializedName注解的意义

Android @SerializedName注解的意义

作者: KingWorld | 来源:发表于2020-10-13 16:32 被阅读0次

    @SerializedName注解的意义

    本文转自http://blog.csdn.net/jiayi_yao/article/details/51057267,感谢原作者!

    {
         "id":"1"
         "n":"kyoya"
         "p":"123456"
         "s":"0"
     }
    
    public class User{
         private String id;
         private String n;
         private String p;
         private String s;
     }
    

    然后就可以用fastjson或者Gson解析,至此都是正常步骤。

    但有一个问题就是,User类的命名不太友好(id,n,p,s???),为此,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里字段名不匹配的情况了。

    再使用Gson解析的时候就会将n对应的值赋值到userName属性上,同样的如果我们要将User生成json字符串使用Gson生成的时候也会将userName的名字生成n。这样就解决了java对象里属性名跟json里字段名不匹配的情况了。

    相关文章

      网友评论

          本文标题:Android @SerializedName注解的意义

          本文链接:https://www.haomeiwen.com/subject/gixjpktx.html