#@SerializedName annotation can be used to serialize a field to a different name instead of the actual field name. We can provide the expected serialization name as an annotation attribute and Gson can ensure that the field with the provided name is read or written.
@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" }
The above is the detailed content of When using Gson in Java, when do you need to use the @SerializedName annotation?. For more information, please follow other related articles on the PHP Chinese website!