パッケージ jakarta.json.bind.adapter

インターフェース JsonbAdapter<Original,​Adapted>

  • 型パラメーター:
    Original - JSONB が処理方法を知らない型
    Adapted - JSONB がそのまま使用する方法を知っている型

    アダプターランタイムの「元の」および「適応された」ジェネリクス型は、アダプターが機能するために必須のサブクラス化情報から推測されます。

    サンプル 1:

     
          // Generic information is provided by subclassing.
          class BoxToCrateAdapter implements JsonbAdapter<Box<Integer>, Crate<String>> {...};
          jsonbConfig.withAdapters(new BoxToCrateAdapter());
    
          // Generic information is provided by subclassing with anonymous class
          jsonbConfig.withAdapters(new JsonbAdapter<Box<Integer>, Crate<String>> {...});
     
     

    サンプル 2:

     
          BoxToCrateAdapter<T> implements JsonbAdapter<Box<T>, Integer> {...};
    
          // Bad way: Generic type information is lost due to type erasure
          jsonbConfig.withAdapters(new BoxToCrateAdapter<Integer>());
    
          // Proper way: Anonymous class holds generic type information
          jsonbConfig.withAdapters(new BoxToCrateAdapter<Integer>(){});
     
     

    public interface JsonbAdapter<Original,​Adapted>

    特定の java 型のカスタムマッピングを定義できます。ターゲット型は、文字列またはマップ可能な java 型です。

    直列化では、「元の」型は「適応された」型に変換されます。その後、"Adapted" 型は標準的な方法で JSON に直列化されます。

    逆直列化では、逆の方法で機能します。JSON データは「適応」型に逆直列化され、その後「元の」型に変換されます。

    アダプターは、JsonbConfig.withAdapters(JsonbAdapter[]) メソッドまたはクラスフィールドの JsonbTypeAdapter アノテーションを使用して登録されます。

    導入:
    JSON バインディング 1.0
    関連事項:
    JsonbConfig, JsonbTypeAdapter
    • メソッドの詳細

      • adaptToJson

        Adapted adaptToJson​(Original obj)
                     throws ExceptionSE
        このメソッドは、直列化でのみ使用されます。これには、型 Original から型 Adapted への変換ロジックが含まれています。変換後、適応型は標準的な方法で JSON にマッピングされます。
        パラメーター:
        obj - 変換するオブジェクトまたは null
        戻り値:
        JSON または null に直列化される変換されたオブジェクト。
        例外:
        ExceptionSE - 変換中にエラーが発生した場合。
      • adaptFromJson

        Original adaptFromJson​(Adapted obj)
                        throws ExceptionSE
        このメソッドは、逆直列化でのみ使用されます。型 Adapted から型 Original への変換ロジックが含まれています。
        パラメーター:
        obj - 変換するオブジェクトまたは null
        戻り値:
        オブジェクトグラフまたは null に設定される pojo を表す変換されたオブジェクト。
        例外:
        ExceptionSE - 変換中にエラーが発生した場合。