インターフェース JsonbSerializer<T>
- 型パラメーター:
T- シリアライザをバインドする型。
public interface JsonbSerializer<T>
指定された型のカスタムシリアライザーを表すインターフェース。JsonbAdapter シリアライザとは異なり、JsonGenerator を使用して java オブジェクトを JSON ストリームに直接書き込むことにより、シリアライゼーションプロセスをより細かく制御できます。SerializationContext は JSONB ランタイムとして機能し、提供された java オブジェクトを直列化できます。
シリアライザは、JsonbConfig.withSerializers(JsonbSerializer[]) メソッドまたは型の JsonbTypeSerializer アノテーションを使用して登録されます。
カスタムシリアライザーのサンプル:
class Box {
public BoxInner boxInnerObject;
public String name;
}
class BoxSerializer implements JsonbSerializer<Box> {
public void serialize(Box box, JsonGenerator generator, SerializationContext ctx) {
generator.write("name", box.name);
ctx.serialize("boxInnerObject", generator);
}
}
- 導入:
- JSON バインディング 1.0
- 関連事項:
方法の概要
修飾子と型メソッド説明voidserialize(T obj, JsonGenerator generator, SerializationContext ctx) オブジェクトを JSON ストリームに直列化します。
メソッドの詳細
serialize
オブジェクトを JSON ストリームに直列化します。- パラメーター:
obj- 直列化するオブジェクト。generator- java オブジェクトを JSON ストリームに書き込むために使用される JSON ジェネレーター。ctx- JSONB マッパーコンテキスト。サブオブジェクトを直列化するために使用します。