インターフェース 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
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 Original
adaptFromJson(Adapted obj)
このメソッドは、逆直列化でのみ使用されます。Adapted
adaptToJson(Original obj)
このメソッドは、直列化でのみ使用されます。
メソッドの詳細
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
- 変換中にエラーが発生した場合。