public interface Jsonb extends 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 データのエンコードが自動的に検出されます。JsonbConfig
API を使用して、逆直列化操作で使用される予想される入力エンコーディングを構成します。クライアントアプリケーションは、RFC 7159 で定義され、Java プラットフォームでサポートされている有効な文字エンコードを提供することが期待されています。直列化操作(toJson
)では、JSON データの書き込みにデフォルトで UTF-8 エンコーディングが使用されます。JsonbConfig
API を使用して、直列化操作で使用される出力エンコーディングを構成します。クライアントアプリケーションは、RFC 7159 で定義され、Java プラットフォームでサポートされている有効な文字エンコードを提供することが期待されています。
最適に使用するには、JsonbBuilder
および Jsonb
インスタンスを再利用する必要があります。通常の使用例では、アプリケーションに必要な Jsonb
インスタンスは 1 つだけです。
このクラスのすべてのメソッドは、複数の並行スレッドで安全に使用できます。
Closable.close()
メソッドを呼び出すと、Jsonb との対話中に作成されたすべての CDI 管理対象コンポーネント(CDI 依存関係を持つアダプターなど)がクリーンアップされます。close()
の呼び出しは、すべてのスレッドが Jsonb との対話を完了した後に行う必要があります。Jsonb で動作する残りのスレッドがあり、close()
が呼び出された場合、動作は未定義です。
Jsonb
, JsonbBuilder
, ServiceLoader
SE修飾子と型 | メソッドと説明 |
---|---|
<T> T | fromJson(InputStreamSE stream, ClassSE<T> type) 指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。 |
<T> T | fromJson(InputStreamSE stream, TypeSE runtimeType) 指定された InputStream から JSON データを読み取り、結果のコンテンツツリーを返します。 |
<T> T | fromJson(ReaderSE reader, ClassSE<T> type) 指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。 |
<T> T | fromJson(ReaderSE reader, TypeSE runtimeType) 指定されたリーダーから JSON データを読み取り、結果のコンテンツツリーを返します。 |
<T> T | fromJson(StringSE str, ClassSE<T> type) 指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。 |
<T> T | fromJson(StringSE str, TypeSE runtimeType) 指定された文字列から JSON データを読み取り、結果のコンテンツツリーを返します。 |
StringSE | toJson(ObjectSE object) ルートオブジェクト object を含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。 |
void | toJson(ObjectSE object, OutputStreamSE stream) オブジェクトコンテンツツリーを出力ストリームに書き込みます。 |
StringSE | toJson(ObjectSE object, TypeSE runtimeType) ルートオブジェクト object を含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。 |
void | toJson(ObjectSE object, TypeSE runtimeType, OutputStreamSE stream) オブジェクトコンテンツツリーを出力ストリームに書き込みます。 |
void | toJson(ObjectSE object, TypeSE runtimeType, WriterSE writer) オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。 |
void | toJson(ObjectSE object, WriterSE writer) オブジェクトコンテンツツリーを Writer 文字ストリームに書き込みます。 |
closeSE
<T> T fromJson(StringSE str, ClassSE<T> type) throws JsonbException
T
- コンテンツツリーのルートオブジェクトの型。str
- JSON データを逆直列化する文字列。type
- コンテンツツリーのルートオブジェクトの型。JsonbException
- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。<T> T fromJson(StringSE str, TypeSE runtimeType) throws JsonbException
T
- コンテンツツリーのルートオブジェクトの型。str
- JSON データを逆直列化する文字列。runtimeType
- コンテンツツリーのルートオブジェクトの実行時型。JsonbException
- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。<T> T fromJson(ReaderSE reader, ClassSE<T> type) throws JsonbException
T
- コンテンツツリーのルートオブジェクトの型。reader
- 文字ストリームは JSON データとして読み込まれます。type
- コンテンツツリーのルートオブジェクトの型。JsonbException
- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。<T> T fromJson(ReaderSE reader, TypeSE runtimeType) throws JsonbException
T
- コンテンツツリーのルートオブジェクトの型。reader
- 文字ストリームは JSON データとして読み込まれます。runtimeType
- コンテンツツリーのルートオブジェクトの実行時型。JsonbException
- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。<T> T fromJson(InputStreamSE stream, ClassSE<T> type) throws JsonbException
T
- コンテンツツリーのルートオブジェクトの型。stream
- ストリームは JSON データとして読み取られます。正常に完了すると、このメソッドによってストリームが閉じられます。type
- コンテンツツリーのルートオブジェクトの型。JsonbException
- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。<T> T fromJson(InputStreamSE stream, TypeSE runtimeType) throws JsonbException
T
- コンテンツツリーのルートオブジェクトの型。stream
- ストリームは JSON データとして読み取られます。正常に完了すると、このメソッドによってストリームが閉じられます。runtimeType
- コンテンツツリーのルートオブジェクトの実行時型。JsonbException
- 逆直列化中に予期しないエラーが発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。StringSE toJson(ObjectSE object) throws JsonbException
object
を含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。object
- 直列化されるオブジェクトコンテンツツリーのルートオブジェクト。null であってはなりません。JsonbException
- I/O エラーなど、直列化中に予期しない問題が発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。StringSE toJson(ObjectSE object, TypeSE runtimeType) throws JsonbException
object
を含む Java オブジェクトツリーを JSON として String インスタンスに書き込みます。object
- 直列化されるオブジェクトコンテンツツリーのルートオブジェクト。null であってはなりません。runtimeType
- コンテンツツリーのルートオブジェクトの実行時型。JsonbException
- I/O エラーなど、直列化中に予期しない問題が発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。void toJson(ObjectSE object, WriterSE writer) throws JsonbException
object
- 直列化されるオブジェクトコンテンツツリー。writer
- JSON は、文字ストリームとして指定された Writer
SE に送信されます。JsonbException
- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。void toJson(ObjectSE object, TypeSE runtimeType, WriterSE writer) throws JsonbException
object
- 直列化されるオブジェクトコンテンツツリー。runtimeType
- コンテンツツリーのルートオブジェクトの実行時型。writer
- JSON は、文字ストリームとして指定された Writer
SE に送信されます。JsonbException
- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。void toJson(ObjectSE object, OutputStreamSE stream) throws JsonbException
object
- 直列化されるオブジェクトコンテンツツリー。stream
- JSON はバイトストリームとして指定された OutputStream
SE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。JsonbException
- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。void toJson(ObjectSE object, TypeSE runtimeType, OutputStreamSE stream) throws JsonbException
object
- 直列化されるオブジェクトコンテンツツリー。runtimeType
- コンテンツツリーのルートオブジェクトの実行時型。stream
- JSON はバイトストリームとして指定された OutputStream
SE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。JsonbException
- 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE
- パラメーターのいずれかが null
の場合。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.