インターフェース 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
    関連事項:
    JsonbConfig, JsonbTypeSerializer, JsonbDeserializer, JsonbAdapter
    • メソッドの詳細

      • serialize

        void serialize​(T obj,
                       JsonGenerator generator,
                       SerializationContext ctx)
        オブジェクトを JSON ストリームに直列化します。
        パラメーター:
        obj - 直列化するオブジェクト。
        generator - java オブジェクトを JSON ストリームに書き込むために使用される JSON ジェネレーター。
        ctx - JSONB マッパーコンテキスト。サブオブジェクトを直列化するために使用します。