インターフェース JsonWriter<T>
- 型パラメーター:
T- 書き込まれる型
- 関数インターフェース:
- これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。
JSON 出力を書き込むために使用できるインターフェース。通常、完全なマーシャリングライブラリ (Jackson や Gson など) への依存関係を想定できない場合に JSON を生成するために使用されます。
標準 Java 型の場合、standard() ファクトリメソッドを使用してこのインターフェースのインスタンスを取得できます。StringSE、NumberSE、BooleanSE のほか、CollectionSE、Array、MapSE、WritableJson 型もサポートされています。一般的な使用箇所は次のとおりです。
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 interfaceJsonWriter.Extractor<T extends @Nullable ObjectSE, R extends @Nullable ObjectSE>ある値から別の値を抽出するために使用できるインターフェース。static final classJSON に貢献するメンバー。static final record特定の JSON メンバーを識別するために使用されるパス。static final classJSON メンバーを構成するために使用されるコールバック。static interface名前を変更したりメンバーをフィルタリングしたりするためにappliedからJsonWriter.Membersにできるコールバックインターフェース。static interface要素から名前と値のペアを抽出するために使用できるインターフェース。static interfaceJsonWriter.ValueProcessor<T extends @Nullable ObjectSE>値が書き込まれる前に処理するためにappliedからJsonWriter.Membersにできるコールバックインターフェース。メソッドのサマリー
修飾子と型メソッド説明static <T> JsonWriter<T> of(ConsumerSE<JsonWriter.Members<T>> members) 特定のmember mappingを持つJsonWriterを返すファクトリメソッド。static <T> JsonWriter<T> standard()標準 Java 型のJsonWriterを返すファクトリメソッド。default JsonWriter<T> JSON が書き込まれた後に新しい行を追加する新しいJsonWriterインスタンスを返します。default JsonWriter<T> withSuffix(@Nullable StringSE suffix) JSON が書き込まれた後に指定されたサフィックスを追加する新しいJsonWriterインスタンスを返します。default WritableJson指定されたインスタンスをさまざまな出力に書き込むために使用できるWritableJson実装を提供します。voidwrite(@Nullable T instance, AppendableSE out) 指定されたインスタンスを指定されたAppendableSE に書き込みます。default StringSEwriteToString(@Nullable T instance) 指定されたインスタンスを JSON 文字列に書き込みます。
メソッドの詳細
write
指定されたインスタンスを指定されたAppendableSE に書き込みます。- パラメーター:
instance- 書き込むインスタンス(nullなど)out- JSON を受け取るべき出力- 例外:
IOExceptionSE- IO エラー時
writeToString
write
指定されたインスタンスをさまざまな出力に書き込むために使用できるWritableJson実装を提供します。- パラメーター:
instance- 書き込むインスタンス (nullの場合があります)- 戻り値:
- JSON を書き込むために使用できる
WritableJsonインスタンス
withNewLineAtEnd
JSON が書き込まれた後に新しい行を追加する新しいJsonWriterインスタンスを返します。- 戻り値:
- JSON の後に新しい行を追加する新しい
JsonWriterインスタンス
withSuffix
JSON が書き込まれた後に指定されたサフィックスを追加する新しいJsonWriterインスタンスを返します。- パラメーター:
suffix- 書く接尾辞(ある場合)- 戻り値:
- JSON の後にサフィックスを追加する新しい
JsonWriterインスタンス
standard
標準 Java 型のJsonWriterを返すファクトリメソッド。詳細については、class-level javadocを参照してください。- 型パラメーター:
T- 書く型- 戻り値:
JsonWriterインスタンス
of
特定のmember mappingを持つJsonWriterを返すファクトリメソッド。詳細については、class-level javadocおよびJsonWriter.Membersを参照してください。- 型パラメーター:
T- 書く型- パラメーター:
members- メンバーを構成するコンシューマー- 戻り値:
JsonWriterインスタンス- 関連事項: