ไลบรารี 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"}