คำอธิบายประกอบของ Gson @SerializedName สามารถซีเรียลไลซ์เป็น JSON โดยมีค่าชื่อที่ระบุเป็นชื่อฟิลด์ คำอธิบายประกอบนี้สามารถแทนที่ FieldNamingPolicy . ใดๆ รวมถึงนโยบายการตั้งชื่อฟิลด์เริ่มต้นที่อาจตั้งค่าไว้บน Gson ตัวอย่าง. นโยบายการตั้งชื่ออื่นสามารถกำหนดได้โดยใช้ GsonBuilder ชั้นเรียน
ไวยากรณ์
@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface SerializedName
ตัวอย่าง
import com.google.gson.annotations.*; import com.google.gson.*; public class SerializedNameAnnotationTest { public static void main(String args[]) { Employee emp = new Employee("Rahul", "Dev", 30, "Nagpur"); Gson gson = new GsonBuilder().setPrettyPrinting().create(); // pretty print String jsonStr = gson.toJson(emp); System.out.println(jsonStr); } } // Employee class class Employee { @SerializedName("first_name") private String firstName; @SerializedName("last_name") private String lastName; private int age; private String address; public Employee() { } public Employee(String firstName, String lastName, int age, String address) { super(); this.firstName = firstName; this.lastName = lastName; this.age = age; this.address = address; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public int getAge() { return age; } public String getAddress() { return address; } }
ผลลัพธ์
{ "first_name": "Rahul", "last_name": "Dev", "age": 30, "address": "Nagpur" }