Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để đổi tên các thuộc tính của JSON bằng Gson trong Java?


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