The @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" }