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

FieldNamingPolicy enum sử dụng Gson trong Java?


Thư viện Gson cung cấp các quy ước đặt tên như một phần của enum FieldNamingPolicy . Chúng tôi có thể đặt chính sách đặt tên trường bằng cách sử dụng setFieldNamingPolicy () phương thức của GsonBuilder lớp học.

FieldNamingPolicy enum Constants

  • NHẬN dạng - Sử dụng chính sách đặt tên này, tên trường không thay đổi.
  • LOWER_CASE_WITH_DASHES - Bằng cách sử dụng chính sách đặt tên này, hãy sửa đổi tên Trường Java từ dạng in hoa camel sang tên trường viết thường trong đó mỗi từ được phân tách bằng dấu gạch ngang (-).
  • LOWER_CASE_WITH_UNDERSCORES - Sử dụng chính sách đặt tên này, hãy sửa đổi tên Trường Java từ dạng in camel của nó thành tên trường viết thường trong đó mỗi từ được phân tách bằng dấu gạch dưới (_).
  • UPPER_CAMEL_CASE - Sử dụng chính sách đặt tên này, hãy đảm bảo rằng “chữ cái” đầu tiên của tên trường Java được viết hoa khi được tuần tự hóa thành dạng JSON của nó.
  • UPPER_CAMEL_CASE_WITH_SPACES - Sử dụng chính sách đặt tên này, hãy đảm bảo rằng “chữ cái” đầu tiên của tên trường Java được viết hoa khi được tuần tự hóa thành dạng JSON của nó và các từ sẽ được phân tách bằng dấu cách.

Cú pháp

public enum FieldNamingPolicy extends Enum<FieldNamingPolicy> implements FieldNamingStrategy

Ví dụ

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

Đầu ra

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