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

Was ist der Nutzen von @SerializedName-Annotation in Gson in Java?

@SerializedNameAnnotations können für Felder verwendet werden, die für die Serialisierung benannt werden sollen, aber nicht den tatsächlichen Feldnamen verwenden. Wir können den erwarteten Serialisierungsnamen als Anmerkungsattribut bereitstellen, Gson stellt sicher, dass das bereitgestellte Namens verwendet wird, um Felder zu lesen oder zu schreiben.

Syntax

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

Beispiel

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);
   }
}
//Mensch
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;
   }
}

Ausgaberesultat

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