Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะเปลี่ยนชื่อคุณสมบัติของ JSON โดยใช้ Gson ใน Java ได้อย่างไร


คำอธิบายประกอบของ 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"
}