パッケージ jakarta.json.bind
インターフェース Jsonb
- すべてのスーパーインターフェース:
AutoCloseableSE
public interface Jsonb extends AutoCloseableSE
Jsonbは、JSON バインディングフレームワーク操作の抽象化を提供します。fromJson: JSON 入力を読み取り、Java オブジェクトコンテンツツリーに逆直列化するtoJson: Java オブジェクトのコンテンツツリーを JSON 入力に直列化する
このクラスのインスタンスは、
JsonbBuilderビルダーメソッドを使用して作成されます。
JSON の逆直列化(読み取り)// 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 データを逆直列化できます。
ファイルからのオブジェクトコンテンツツリーの読み取り(逆直列化):
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
- 関連事項:
Jsonb,JsonbBuilder,ServiceLoaderSE
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 <T> TfromJson(InputStreamSE stream, ClassSE<T> type)指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。<T> TfromJson(InputStreamSE stream, TypeSE runtimeType)指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。<T> TfromJson(ReaderSE reader, ClassSE<T> type)指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。<T> TfromJson(ReaderSE reader, TypeSE runtimeType)指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。<T> TfromJson(StringSE str, ClassSE<T> type)指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。<T> TfromJson(StringSE str, TypeSE runtimeType)指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。StringSEtoJson(ObjectSE object)ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。voidtoJson(ObjectSE object, OutputStreamSE stream)オブジェクトコンテンツツリーを出力ストリームに書き込みます。voidtoJson(ObjectSE object, WriterSE writer)オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。StringSEtoJson(ObjectSE object, TypeSE runtimeType)ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。voidtoJson(ObjectSE object, TypeSE runtimeType, OutputStreamSE stream)オブジェクトコンテンツツリーを出力ストリームに書き込みます。voidtoJson(ObjectSE object, TypeSE runtimeType, WriterSE writer)オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。インターフェース java.lang.AutoCloseableSE から継承されたメソッド
close
メソッドの詳細
fromJson
<T> T fromJson(StringSE str, ClassSE<T> type) throws JsonbException
指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
str- JSON データを逆直列化する文字列。type- コンテンツツリーのルートオブジェクトの型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
<T> T fromJson(StringSE str, TypeSE runtimeType) throws JsonbException
指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
str- JSON データを逆直列化する文字列。runtimeType- コンテンツツリーのルートオブジェクトの実行時型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
<T> T fromJson(ReaderSE reader, ClassSE<T> type) throws JsonbException
指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
reader- 文字ストリームは JSON データとして読み込まれます。type- コンテンツツリーのルートオブジェクトの型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
<T> T fromJson(ReaderSE reader, TypeSE runtimeType) throws JsonbException
指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
reader- 文字ストリームは JSON データとして読み込まれます。runtimeType- コンテンツツリーのルートオブジェクトの実行時型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
<T> T fromJson(InputStreamSE stream, ClassSE<T> type) throws JsonbException
指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
stream- ストリームは JSON データとして読み取られます。正常に完了すると、このメソッドによってストリームが閉じられます。type- コンテンツツリーのルートオブジェクトの型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
fromJson
<T> T fromJson(InputStreamSE stream, TypeSE runtimeType) throws JsonbException
指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。- 型パラメーター:
T- コンテンツツリーのルートオブジェクトの型。- パラメーター:
stream- ストリームは JSON データとして読み取られます。正常に完了すると、このメソッドによってストリームが閉じられます。runtimeType- コンテンツツリーのルートオブジェクトの実行時型。- 戻り値:
- java コンテンツツリーの新しく作成されたルートオブジェクト
- 例外:
JsonbException- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。
toJson
StringSE toJson(ObjectSE object) throws JsonbException
ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリーのルートオブジェクト。null であってはなりません。- 戻り値:
- 直列化された JSON データを含む文字列インスタンス。
- 例外:
JsonbException- I/O エラーなど、直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
StringSE toJson(ObjectSE object, TypeSE runtimeType) throws JsonbException
ルートオブジェクトobjectを含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリーのルートオブジェクト。null であってはなりません。runtimeType- コンテンツツリーのルートオブジェクトのランタイム型。提供される型は、インスタンスの型に関連している必要があります。- 戻り値:
- 直列化された JSON データを含む文字列インスタンス。
- 例外:
JsonbException- I/O エラーなど、直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
void toJson(ObjectSE object, WriterSE writer) throws JsonbException
オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。writer- JSON は、文字ストリームとして指定されたWriterSE に送信されます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
void toJson(ObjectSE object, TypeSE runtimeType, WriterSE writer) throws JsonbException
オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。runtimeType- コンテンツツリーのルートオブジェクトのランタイム型。提供される型は、インスタンスの型に関連している必要があります。writer- JSON は、文字ストリームとして指定されたWriterSE に送信されます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
void toJson(ObjectSE object, OutputStreamSE stream) throws JsonbException
オブジェクトコンテンツツリーを出力ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。stream- JSON はバイトストリームとして指定されたOutputStreamSE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0
toJson
void toJson(ObjectSE object, TypeSE runtimeType, OutputStreamSE stream) throws JsonbException
オブジェクトコンテンツツリーを出力ストリームに書き込みます。- パラメーター:
object- 直列化されるオブジェクトコンテンツツリー。runtimeType- コンテンツツリーのルートオブジェクトのランタイム型。提供される型は、インスタンスの型に関連している必要があります。stream- JSON はバイトストリームとして指定されたOutputStreamSE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。- 例外:
JsonbException- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE- パラメーターのいずれかがnullの場合。- 導入:
- JSON バインディング 1.0