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