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 データのエンコードが自動的に検出されます。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() が呼び出された場合、動作は未定義です。
Jsonb, JsonbBuilder, ServiceLoaderSE| 修飾子と型 | メソッドと説明 |
|---|---|
<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 は、文字ストリームとして指定された WriterSE に送信されます。JsonbException - 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE - パラメーターのいずれかが null の場合。void toJson(ObjectSE object, TypeSE runtimeType, WriterSE writer) throws JsonbException
object - 直列化されるオブジェクトコンテンツツリー。runtimeType - コンテンツツリーのルートオブジェクトの実行時型。writer - JSON は、文字ストリームとして指定された WriterSE に送信されます。JsonbException - 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE - パラメーターのいずれかが null の場合。void toJson(ObjectSE object, OutputStreamSE stream) throws JsonbException
object - 直列化されるオブジェクトコンテンツツリー。stream - JSON はバイトストリームとして指定された OutputStreamSE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。JsonbException - 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE - パラメーターのいずれかが null の場合。void toJson(ObjectSE object, TypeSE runtimeType, OutputStreamSE stream) throws JsonbException
object - 直列化されるオブジェクトコンテンツツリー。runtimeType - コンテンツツリーのルートオブジェクトの実行時型。stream - JSON はバイトストリームとして指定された OutputStreamSE に送信されます。正常に完了すると、このメソッドによってストリームが閉じられます。JsonbException - 直列化中に予期しない問題が発生した場合。NullPointerExceptionSE - パラメーターのいずれかが null の場合。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.