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

FieldNamingPolicy enum โดยใช้ Gson ใน Java?


ไลบรารี Gson จัดเตรียมหลักการตั้งชื่อให้เป็นส่วนหนึ่งของ enum FieldNamingPolicy . เราสามารถกำหนดนโยบายการตั้งชื่อฟิลด์โดยใช้ setFieldNamingPolicy() วิธีการของ GsonBuilder ชั้นเรียน

FieldNamingPolicy enum ค่าคงที่

  • เอกลักษณ์ − ใช้นโยบายการตั้งชื่อนี้ ชื่อฟิลด์จะไม่เปลี่ยนแปลง
  • LOWER_CASE_WITH_DASHES − ใช้นโยบายการตั้งชื่อนี้ แก้ไขชื่อฟิลด์ Java จากรูปแบบที่ใส่อูฐเป็นชื่อฟิลด์ตัวพิมพ์เล็ก โดยที่แต่ละคำคั่นด้วยเครื่องหมายขีดกลาง (-)
  • LOWER_CASE_WITH_UNDERSCORES − ใช้นโยบายการตั้งชื่อนี้ แก้ไขชื่อฟิลด์ Java จากรูปแบบอูฐเป็นชื่อฟิลด์ตัวพิมพ์เล็ก โดยที่แต่ละคำจะถูกคั่นด้วยขีดล่าง (_)
  • UPPER_CAMEL_CASE − ใช้นโยบายการตั้งชื่อนี้ ตรวจสอบให้แน่ใจว่า “ตัวอักษร” ตัวแรกของชื่อฟิลด์ Java เป็นตัวพิมพ์ใหญ่เมื่อถูกทำให้เป็นอนุกรมในรูปแบบ JSON
  • UPPER_CAMEL_CASE_WITH_SPACES − ใช้นโยบายการตั้งชื่อนี้ ตรวจสอบให้แน่ใจว่า "ตัวอักษร" ตัวแรกของชื่อฟิลด์ Java เป็นตัวพิมพ์ใหญ่เมื่อทำให้เป็นอนุกรมกับรูปแบบ JSON และคำจะถูกคั่นด้วยการเว้นวรรค

ไวยากรณ์

public enum FieldNamingPolicy extends Enum<FieldNamingPolicy> implements FieldNamingStrategy

ตัวอย่าง

import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class GsonFieldNamingPolicyTest {
   public static void main(String[] args) {
      Employee emp = new Employee();
      emp.setEmpId(115);
      emp.setFirstName("Raja");
      emp.setLastName("Ramesh");
      GsonBuilder gsonBuilder = new GsonBuilder();
      Gson gson1  =  gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_DASHES).create();
      String result1 = gson1.toJson(emp);
      System.out.println("LOWER_CASE_WITH_DASHES: " + result1);
      Gson gson2 =  gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
      String result2 = gson2.toJson(emp);
      System.out.println("LOWER_CASE_WITH_UNDERSCORES: " + result2);
      Gson gson3 = gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();
      String result3 = gson3.toJson(emp);
      System.out.println("UPPER_CAMEL_CASE: " + result3);
      Gson gson4 = gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE_WITH_SPACES).create();
      String result4 = gson4.toJson(emp);
      System.out.println("UPPER_CAMEL_CASE_WITH_SPACES: " + result4);
      Gson gson5 = gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.IDENTITY).create();
      String result5 = gson5.toJson(emp);
      System.out.println("IDENTITY: " + result5);
   }
}
// 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;
   }
}

ผลลัพธ์

LOWER_CASE_WITH_DASHES: {"emp-id":115,"first-name":"Raja","last-name":"Ramesh"}
LOWER_CASE_WITH_UNDERSCORES: {"emp_id":115,"first_name":"Raja","last_name":"Ramesh"}
UPPER_CAMEL_CASE: {"EmpId":115,"FirstName":"Raja","LastName":"Ramesh"}
UPPER_CAMEL_CASE_WITH_SPACES: {"Emp Id":115,"First Name":"Raja","Last Name":"Ramesh"}
IDENTITY: {"empId":115,"firstName":"Raja","lastName":"Ramesh"}