Chú thích Gson @SerializedName có thể được tuần tự hóa thành JSON với giá trị tên được cung cấp làm tên trường của nó. Chú thích này có thể ghi đè bất kỳ FieldNamingPolicy nào bao gồm chính sách đặt tên trường mặc định có thể đã được đặt trên Gson ví dụ. Một chính sách đặt tên khác có thể được đặt bằng cách sử dụng GsonBuilder lớp học.
Cú pháp
@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface SerializedName
Ví dụ
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; } }
Đầu ra
{ "first_name": "Rahul", "last_name": "Dev", "age": 30, "address": "Nagpur" }