如何在 Java 中利用 Gson 使用 @SerializedName 注释?


@SerializedName 注释可用于使用不同的名称(而非实际字段名)序列化字段。我们可以提供预期的序列化名称作为注释属性,Gson 可确保使用所提供的名称读取或写入字段。

语法

@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface SerializedName

示例

import com.google.gson.*;
import com.google.gson.annotations.*;
public class SerializedNameTest {
   public static void main(String args[]) {
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      Person person = new Person(115, "Raja Ramesh", "Hyderabad");
      String jsonStr = gson.toJson(person);
      System.out.println(jsonStr);
   }
}
// Person class
class Person {
   @SerializedName("id")
   private int personId;
   @SerializedName("name")
   private String personName;
   private String personAddress;
   public Person(int personId, String personName, String personAddress) {
      this.personId = personId;
      this.personName = personName;
      this.personAddress = personAddress;
   }
   public int getPersonId() {
      return personId;
   }
   public String getPersonName() {
      return personName;
   }
   public String getPersonAddress() {
      return personAddress;
   }
}

输出

{
 "id": 115,
 "name": "Raja Ramesh",
 "personAddress": "Hyderabad"
}

更新于:09-Jul-2020

7K+ 浏览

开启你的 职业生涯

完成课程获取认证

开始学习
广告
© . All rights reserved.