パッケージ jakarta.json.bind
インターフェース Jsonb
- すべてのスーパーインターフェース:
AutoCloseableSE
Jsonb は、JSON バインディングフレームワーク操作の抽象化を提供します。
fromJson: JSON 入力を読み取り、Java オブジェクトコンテンツツリーに逆直列化するtoJson: Java オブジェクトのコンテンツツリーを JSON 入力に直列化する
このクラスのインスタンスは、JsonbBuilder ビルダーメソッドを使用して作成されます。
// Example 1 - Creating Jsonb using default JsonbBuilder instance provided by default JsonbProvider
Jsonb jsonb = JsonbBuilder.create();
// Example 2 - Creating Jsonb instance for a specific provider specified by a class name
Jsonb jsonb = JsonbBuilder.newBuilder("foo.bar.ProviderImpl).build();
// Example 3 - Creating Jsonb instance from a custom provider implementation
Jsonb jsonb = new CustomJsonbBuilder().build();
JSON の逆直列化(読み取り)JSON ドキュメント全体または JSON ドキュメントのサブツリーのいずれかを表す JSON データを逆直列化できます。
ファイルからのオブジェクトコンテンツツリーの読み取り(逆直列化):Jsonb jsonb = JsonbBuilder.create(); Book book = jsonb.fromJson(new FileReader("jsonfile.json"), Book.class);デシリアライズプロセスが JSON コンテンツをオブジェクトコンテンツツリーにデシリアライズできない場合、JsonbException をスローして処理を終了する致命的なエラーが報告されます。
JSON へのシリアライズ(書き込み)
直列化は、Java オブジェクトコンテンツツリーの表現を JSON データに書き込みます。
オブジェクトコンテンツツリーをファイルに書き込む(直列化する):jsonb.toJson(object, new FileWriter("foo.json"));ライターへの書き込み(シリアライズ):jsonb.toJson(object, new PrintWriter(System.out));
エンコード
デシリアライズ操作(fromJson)では、JSON データのエンコードが自動的に検出されます。JsonbConfigAPI を使用して、逆直列化操作で使用される予想される入力エンコーディングを構成します。クライアントアプリケーションは、RFC 7159 で定義され、Java プラットフォームでサポートされている有効な文字エンコードを提供することが期待されています。直列化操作(toJson)では、JSON データの書き込みにデフォルトで UTF-8 エンコーディングが使用されます。JsonbConfigAPI を使用して、直列化操作で使用される出力エンコーディングを構成します。クライアントアプリケーションは、RFC 7159 で定義され、Java プラットフォームでサポートされている有効な文字エンコードを提供することが期待されています。
最適に使用するには、JsonbBuilder および Jsonb インスタンスを再利用する必要があります。通常の使用例では、アプリケーションに必要な Jsonb インスタンスは 1 つだけです。
このクラスのすべてのメソッドは、複数の並行スレッドで安全に使用できます。
Closable.close() メソッドを呼び出すと、Jsonb との対話中に作成されたすべての CDI 管理対象コンポーネント(CDI 依存関係を持つアダプターなど)がクリーンアップされます。close() の呼び出しは、すべてのスレッドが Jsonb との対話を完了した後に行う必要があります。Jsonb で動作する残りのスレッドがあり、close() が呼び出された場合、動作は未定義です。
- 導入:
- JSON バインディング 1.0
- 関連事項:
方法の概要
修飾子と型メソッド説明<T> TfromJson(InputStreamSE stream, ClassSE<T> type) 指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。<T> TfromJson(InputStreamSE stream, TypeSE runtimeType) 指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。<T> T指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。<T> T指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。<T> T指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。<T> T指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。voidtoJson(ObjectSE object, OutputStreamSE stream) オブジェクトコンテンツツリーを出力ストリームに書き込みます。voidオブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。voidtoJson(ObjectSE object, TypeSE runtimeType, OutputStreamSE stream) オブジェクトコンテンツツリーを出力ストリームに書き込みます。voidオブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。インターフェース java.lang.AutoCloseableSE から継承されたメソッド
close
メソッドの詳細
fromJson
指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
str- JSON データを逆直列化する文字列。type- コンテンツツリーのルートオブジェクトの型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
str- JSON データを逆直列化する文字列。runtimeType- コンテンツツリーのルートオブジェクトの実行時型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
reader- 文字ストリームは JSON データとして読み込まれます。type- コンテンツツリーのルートオブジェクトの型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
reader- 文字ストリームは JSON データとして読み込まれます。runtimeType- コンテンツツリーのルートオブジェクトの実行時型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
stream- ストリームは JSON データとして読み取られます。正常に完了すると、このメソッドによってストリームが閉じられます。type- コンテンツツリーのルートオブジェクトの型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
stream- ストリームは JSON データとして読み取られます。正常に完了すると、このメソッドによってストリームが閉じられます。runtimeType- コンテンツツリーのルートオブジェクトの実行時型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
toJson
ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリーのルートオブジェクト。null であってはなりません。- 戻り値:
- 直列化された JSON データを含む文字列インスタンス。
- 例外:
JsonbException- I/O エラーなど、直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリーのルートオブジェクト。null であってはなりません。runtimeType- コンテンツツリーのルートオブジェクトのランタイム型。提供される型は、インスタンスの型に関連している必要があります。- 戻り値:
- 直列化された JSON データを含む文字列インスタンス。
- 例外:
JsonbException- I/O エラーなど、直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。writer- JSON は、文字ストリームとして指定されたWriterSE に送信されます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。runtimeType- コンテンツツリーのルートオブジェクトのランタイム型。提供される型は、インスタンスの型に関連している必要があります。writer- JSON は、文字ストリームとして指定されたWriterSE に送信されます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
オブジェクトコンテンツツリーを出力ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。stream- JSON はバイトストリームとして指定されたOutputStreamSE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
オブジェクトコンテンツツリーを出力ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。runtimeType- コンテンツツリーのルートオブジェクトのランタイム型。提供される型は、インスタンスの型に関連している必要があります。stream- JSON はバイトストリームとして指定されたOutputStreamSE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0