@SerializedName注解


  在Android中解析Gson解析json數據是很方便快捷的,可以直接將json數據解析成java對象或者集合。
  Gson解析json的方法我這里就不詳細說明了,網上一大把的例子,我這里主要說一下使用@SerializedName進行注解的情況。
  使用Gson解析json成對象時默認的是將json里對應字段的值解析到java對象里對應字段的屬性里面。然后我們經常會遇到我們自己定義的java對象里的屬性名跟json里的字段名是不一樣的,這種情況怎么辦呢,這時我們就可以使用@SerializedName注解來將對象里的屬性跟json里字段對應值匹配起來。
  下面說說具體使用方法:
  我們有一段json數據如下:

  1. {
  2. "id":"1"
  3. "n":"zhangsan"
  4. "p":"123456"
  5. "s":"0"
  6. }

  這是一個user的數據包括id、用戶名、密碼、性別,如果正常些一個user類來解析的話是這樣的:

  1. public class User{
  2. private String id;
  3. private String n;
  4. private String p;
  5. private String s;
  6. }

  User類要這樣寫才能直接使用Gson直接解析出來,但是這樣的話User類的屬性命名就不太友好了,那我們要怎么做呢?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. }

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


免責聲明!

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



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