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

จะใช้งาน FieldNamingStrategy แบบกำหนดเองโดยใช้ Gson ใน Java ได้อย่างไร


The FieldNamingStrategy เป็นกลไกสำหรับการตั้งชื่อฟิลด์แบบกำหนดเองใน Gson ซึ่งช่วยให้โค้ดไคลเอ็นต์แปลชื่อฟิลด์เป็นแบบแผนเฉพาะที่ไม่สนับสนุนเป็นกฎการประกาศฟิลด์ Java ปกติ translateName() เมธอดจะขึ้นต้นทุกชื่อฟิลด์ด้วยสตริง “pre_ ”.

ในตัวอย่างด้านล่าง เราสามารถใช้ Custom FieldNamingStrategy ได้

ตัวอย่าง

import java.lang.reflect.Field;
import com.google.gson.*;
public class GsonFieldNamingStrategyTest {
   public static void main(String[] args) {
      Employee emp = new Employee();
      emp.setEmpId(115);
      emp.setFirstName("Adithya");
      emp.setLastName("Jai");
      CustomFieldNamingStrategy customFieldNamingStrategy = new CustomFieldNamingStrategy();
      GsonBuilder gsonBuilder = new GsonBuilder();
      Gson gson = gsonBuilder.setFieldNamingStrategy(customFieldNamingStrategy).create();
      String result = gson.toJson(emp);
      System.out.println(result);
   }
   // Custom FieldNamingStrategy
   private static class CustomFieldNamingStrategy implements FieldNamingStrategy {
      @Override
      public String translateName(Field field) {
         return "pre_" + field.getName();
      }
   }
}
// Employee class
class Employee {
   private int empId;
   private String firstName;
   private String lastName;
   public int getEmpId() {
      return empId;
   }
   public void setEmpId(int empId) {
      this.empId = empId;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
}

ผลลัพธ์

{"pre_empId":115,"pre_firstName":"Adithya","pre_lastName":"Jai"}