@SerializedName注解的意義


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

1 {
2     "id":"1"
3     "n":"kyoya"
4     "p":"123456"
5     "s":"0"
6 }
一段需要解析的json
1 public class User{
2     private String id;
3     private String n;
4     private String p;
5     private String s;
6 }
定義一個User類解析json

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

但有一個問題就是,User類的命名不太友好(id,n,p,s???),為此,Gson提供了一個麻煩的方法來解決這個不友好(嗯,麻煩!畢竟本小白有密集恐懼症),即提供@SerializedName注解

 1 public class User{
 2  
 3     private String id;
 4  
 5     @SerializedName("n")
 6     private String userName;
 7  
 8     @SerializedName("p")
 9     private String password;
10  
11     @SerializedName("s")
12     private String sex;
13 }
優化(fuzahua)后的User寫法

再使用Gson解析的時候就會自動將n對應的值賦值到userName屬性上,同樣,如果要將User生成json字符串,使用Gson生成的時候也會將userName的名字生成n。

這樣就解決了java對象里屬性名跟json里字段名不匹配的情況了。

再使用Gson解析的時候就會將n對應的值賦值到userName屬性上,同樣的如果我們要將User生成json字符串使用Gson生成的時候也會將userName的名字生成n。這樣就解決了java對象里屬性名跟json里字段名不匹配的情況了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM