English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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);
   {}
{}
//인간
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"
{}