インターフェース JsonWriter<T>

型パラメーター:
T - 書き込まれる型
関数インターフェース:
これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。

@FunctionalInterfaceSE public interface JsonWriter<T>
JSON 出力を書き込むために使用できるインターフェース。通常、完全なマーシャリングライブラリ (Jackson や Gson など) への依存関係を想定できない場合に JSON を生成するために使用されます。

標準 Java 型の場合、standard() ファクトリメソッドを使用してこのインターフェースのインスタンスを取得できます。StringSENumberSEBooleanSE のほか、CollectionSEArrayMapSEWritableJson 型もサポートされています。一般的な使用箇所は次のとおりです。

 JsonWriter<Map<String,Object>> writer = JsonWriter.standard();
 writer.write(Map.of("Hello", "World!"), out);
 

より複雑なマッピングは、書き込むべき JSON members を構成するためのコールバックを持つ of(Consumer) メソッドを使用して作成できます。一般的な使用箇所は次のようになります。

 JsonWriter<Person> writer = JsonWriter.of((members) -> {
     members.add("first", Person::firstName);
     members.add("last", Person::lastName);
     members.add("dob", Person::dateOfBirth)
         .whenNotNull()
         .as(DateTimeFormatter.ISO_DATE::format);
 });
 writer.write(person, out);
 

JSON を StringSE に直接書き込む場合は、writeToString(Object) メソッドを使用できます。他の種類の出力に書き込む場合は、write(Object) メソッドを使用して WritableJson インスタンスを取得できます。

導入:
3.4.0
作成者:
Phillip Webb, Moritz Halbritter
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    インターフェース
    説明
    static final class
    JSON に貢献するメンバー。
    static final record
    特定の JSON メンバーを識別するために使用されるパス。
    static final class
    JSON メンバーを構成するために使用されるコールバック。
    static interface
    名前を変更したりメンバーをフィルタリングしたりするために applied から JsonWriter.Members にできるコールバックインターフェース。
    static interface
    要素から名前と値のペアを抽出するために使用できるインターフェース。
    static interface
    値が書き込まれる前に処理するために applied から JsonWriter.Members にできるコールバックインターフェース。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    static <T> JsonWriter<T>
    特定の member mapping を持つ JsonWriter を返すファクトリメソッド。
    static <T> JsonWriter<T>
    標準 Java 型の JsonWriter を返すファクトリメソッド。
    default JsonWriter<T>
    JSON が書き込まれた後に新しい行を追加する新しい JsonWriter インスタンスを返します。
    default JsonWriter<T>
    JSON が書き込まれた後に指定されたサフィックスを追加する新しい JsonWriter インスタンスを返します。
    default WritableJson
    write(T instance)
    指定されたインスタンスをさまざまな出力に書き込むために使用できる WritableJson 実装を提供します。
    void
    write(T instance, AppendableSE out)
    指定されたインスタンスを指定された AppendableSE に書き込みます。
    default StringSE
    writeToString(T instance)
    指定されたインスタンスを JSON 文字列に書き込みます。
  • メソッドの詳細

    • write

      void write(T instance, AppendableSE out) throws IOExceptionSE
      指定されたインスタンスを指定された AppendableSE に書き込みます。
      パラメーター:
      instance - 書き込むインスタンス(null など)
      out - JSON を受け取るべき出力
      例外:
      IOExceptionSE - IO エラー時
    • writeToString

      default StringSE writeToString(T instance)
      指定されたインスタンスを JSON 文字列に書き込みます。
      パラメーター:
      instance - 書き込むインスタンス (null の場合があります)
      戻り値:
      JSON 文字列
    • write

      default WritableJson write(T instance)
      指定されたインスタンスをさまざまな出力に書き込むために使用できる WritableJson 実装を提供します。
      パラメーター:
      instance - 書き込むインスタンス (null の場合があります)
      戻り値:
      JSON を書き込むために使用できる WritableJson インスタンス
    • withNewLineAtEnd

      default JsonWriter<T> withNewLineAtEnd()
      JSON が書き込まれた後に新しい行を追加する新しい JsonWriter インスタンスを返します。
      戻り値:
      JSON の後に新しい行を追加する新しい JsonWriter インスタンス
    • withSuffix

      default JsonWriter<T> withSuffix(StringSE suffix)
      JSON が書き込まれた後に指定されたサフィックスを追加する新しい JsonWriter インスタンスを返します。
      パラメーター:
      suffix - 書く接尾辞(ある場合)
      戻り値:
      JSON の後にサフィックスを追加する新しい JsonWriter インスタンス
    • standard

      static <T> JsonWriter<T> standard()
      標準 Java 型の JsonWriter を返すファクトリメソッド。詳細については、class-level javadoc を参照してください。
      型パラメーター:
      T - 書く型
      戻り値:
      JsonWriter インスタンス
    • of

      static <T> JsonWriter<T> of(ConsumerSE<JsonWriter.Members<T>> members)
      特定の member mapping を持つ JsonWriter を返すファクトリメソッド。詳細については、class-level javadoc および JsonWriter.Members を参照してください。
      型パラメーター:
      T - 書く型
      パラメーター:
      members - メンバーを構成するコンシューマー
      戻り値:
      JsonWriter インスタンス
      関連事項: