English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
@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.
@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); } } //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" }