Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでGsonを使用するFieldNamingPolicy列挙型?


Gsonライブラリは、列挙型 FieldNamingPolicyの一部として命名規則を提供します 。 setFieldNamingPolicy()を使用してフィールド命名ポリシーを設定できます GsonBuilderのメソッド クラス。

FieldNamingPolicy列挙型定数

  • アイデンティティ −この命名ポリシーを使用すると、フィールド名は変更されません。
  • 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"}

  1. Javaのタイプセーフ列挙型とは何ですか?

    列挙型はタイプセーフです 列挙型には独自の名前空間があることを意味します。列挙型定数で指定されている以外の値を割り当てることはできません。タイプセーフ列挙型はJava1.5バージョンで導入されました 。さらに、列挙型は参照型です。つまり、列挙型はクラスまたはインターフェイスのように動作します。プログラマーとして、列挙型宣言内にメソッドと変数を作成できます。 例1 import java.util.*; enum JobType {    permanent,    contract } public class EnumTest1 {   &n

  2. Javaで列挙型を拡張できますか?

    いいえ 、延長できません 列挙型 Javaで。 Java列挙型は拡張できます j ava.lang.Enum クラス暗黙的に 、したがって、列挙型は別のクラスを拡張できません。 構文 public abstract class Enum> implements Comparable, Serializable {    // some statements } 列挙型 列挙型 typeは、Java1.5バージョンで追加された特別なデータ型です。 。 列挙型 定数のコレクションを定義するために使用されます 、ある種の数値またはテキストデータを表さない事前定義さ