首頁 >Java >java教程 >如何在Java中定義JSON欄位名稱的命名約定?

如何在Java中定義JSON欄位名稱的命名約定?

WBOY
WBOY轉載
2023-09-02 11:01:07859瀏覽

如何在Java中定義JSON欄位名稱的命名約定?

FieldNamingPolicy 可用於定義 JSON 欄位名稱的一些標準命名約定,它可以與 GsonBuilder 結合使用設定Gson ##實例 以正確地將Java 欄位名稱轉換為所需的JSON 欄位名稱。我們可以使用GsonBuilder setFieldNamingPolicy() 方法在序列化反序列化過程中為物件的欄位配置特定的命名策略策略。

Gson 透過以下欄位命名策略支援各種欄位命名要求

  • #FieldNamingPolicy.IDENTITY:它在序列化時使用與Java 模型完全相同的命名object.
  • FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES:它將 Java 欄位名稱從駝峰式形式修改為小寫欄位名稱,其中每個單字由底線 (_) 分隔。
  • FieldNamingPolicy.LOWER_CASE_WITH_DASHES:它將Java 欄位名稱從駝峰式形式修改為小寫欄位名稱,其中每個單字由破折號(-) 分隔。
  • FieldNamingPolicy. UPPER_CAMEL_CASE:它將確保Java 欄位名稱的第一個「字母」在序列化為JSON 形式時大寫。
  • ##FieldNamingPolicy.UPPER_CAMEL_CASE_WITH_SPACES
  • :它將確保Java 欄位名稱的第一個「字母」在序列化為JSON 形式時大寫,並且單字之間用空格分隔。
  • 範例
import com.google.gson.*;
import java.sql.Date;
import java.time.LocalDate;
public class FieldNamingPolicyTest {
   public static void main(String[] args) {
      <strong>Gson </strong>gson = new<strong> GsonBuilder()</strong><strong>.setPrettyPrinting(</strong>).<strong>setDateFormat</strong>("yyyy-MM- dd") .<strong>setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_DASHES).create();
</strong>      Person p = new Person("Raja", "Ramesh", 30, Date.valueOf(LocalDate.of(1988, 1, 1)));
      String jsonStr = gson.<strong>toJson</strong>(p);
      System.out.println(jsonStr);
   }
}
<strong>// Person class</strong>
class Person {
   private String fistName;
   private String lastName;
   private int _age;
   private Date dateOfBirth;
   public Person(String fistName, String lastName, int _age, Date dateOfBirth) {
      super();
      this.fistName = fistName;
      this.lastName = lastName;
      this._age = _age;
      this.dateOfBirth = dateOfBirth;
   }
}

輸出

rree

#

以上是如何在Java中定義JSON欄位名稱的命名約定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除