パッケージ jakarta.json

クラス Json


  • public final class Json
    extends ObjectSE
    JSON 処理オブジェクトを作成するためのファクトリクラス。このクラスは、これらのオブジェクトとそれに対応するファクトリを作成するために最も一般的に使用されるメソッドを提供します。ファクトリクラスは、これらのオブジェクトを作成するさまざまな方法をすべて提供します。

    このクラスのメソッドは、メソッド JsonProvider.provider() を使用してプロバイダーインスタンスを見つけます。このクラスは、プロバイダーインスタンスを使用して JSON 処理オブジェクトを作成します。

    次の例は、JSON パーサーを作成して空の配列を解析する方法を示しています。

     
     StringReader reader = new StringReader("[]");
     JsonParser parser = Json.createParser(reader);
     
     

    このクラスのすべてのメソッドは、複数の並行スレッドで安全に使用できます。

    • メソッドの詳細

      • createParser

        public static JsonParser createParser​(ReaderSE reader)
        文字ストリームから JSON パーサーを作成します。
        パラメーター:
        reader - JSON を読み取る i/o リーダー
        戻り値:
        JSON パーサー
      • createParser

        public static JsonParser createParser​(InputStreamSE in)
        バイトストリームから JSON パーサーを作成します。ストリームの文字エンコーディングは、RFC 7159 での指定に従って決定されます。
        パラメーター:
        in - JSON が読み取られる I/O ストリーム
        戻り値:
        JSON パーサー
        例外:
        JsonException - エンコードを判別できない場合、または入出力エラーの場合 (IOException は JsonException の原因となる)
      • createGenerator

        public static JsonGenerator createGenerator​(WriterSE writer)
        JSON を文字ストリームに書き込むための JSON ジェネレーターを作成します。
        パラメーター:
        writer - JSON が書き込まれる I/O ライター
        戻り値:
        JSON ジェネレーター
      • createGenerator

        public static JsonGenerator createGenerator​(OutputStreamSE out)
        JSON をバイトストリームに書き込むための JSON ジェネレーターを作成します。
        パラメーター:
        out - JSON が書き込まれる I/O ストリーム
        戻り値:
        JSON ジェネレーター
      • createParserFactory

        public static JsonParserFactory createParserFactory​(MapSE<StringSE,​?> config)
        JsonParser オブジェクトを作成するためのパーサーファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON パーサーを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON パーサーファクトリ
      • createGeneratorFactory

        public static JsonGeneratorFactory createGeneratorFactory​(MapSE<StringSE,​?> config)
        JsonGenerator オブジェクトを作成するためのジェネレーターファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON ジェネレーターを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON ジェネレーターファクトリ
      • createWriter

        public static JsonWriter createWriter​(WriterSE writer)
        指定された文字ストリームに JSON object または array 構造を書き込む JSON ライターを作成します。
        パラメーター:
        writer - JSON オブジェクトまたは配列が書き込まれる
        戻り値:
        JSON ライター
      • createWriter

        public static JsonWriter createWriter​(OutputStreamSE out)
        JSON ライターを作成して、JSON object または array 構造を指定されたバイトストリームに書き込みます。ストリームに書き込まれた文字は、UTF-8 エンコーディングを使用してバイトにエンコードされます。
        パラメーター:
        out - JSON オブジェクトまたは配列が書き込まれる
        戻り値:
        JSON ライター
      • createReader

        public static JsonReader createReader​(ReaderSE reader)
        文字ストリームから JSON リーダーを作成します。
        パラメーター:
        reader - JSON を読み取るリーダー
        戻り値:
        JSON リーダー
      • createReader

        public static JsonReader createReader​(InputStreamSE in)
        バイトストリームから JSON リーダーを作成します。ストリームの文字エンコーディングは、RFC 7159 に従って決定されます。
        パラメーター:
        in - JSON を読み取るバイトストリーム
        戻り値:
        JSON リーダー
      • createReaderFactory

        public static JsonReaderFactory createReaderFactory​(MapSE<StringSE,​?> config)
        JsonReader オブジェクトを作成するためのリーダーファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON リーダーを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON リーダーファクトリ
      • createWriterFactory

        public static JsonWriterFactory createWriterFactory​(MapSE<StringSE,​?> config)
        JsonWriter オブジェクトを作成するためのライターファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON ライターを構成するためのプロバイダー固有のプロパティのマップ。マップは空または null の可能性があります
        戻り値:
        JSON ライターファクトリ
      • createArrayBuilder

        public static JsonArrayBuilder createArrayBuilder()
        JSON 配列ビルダーを作成します
        戻り値:
        JSON 配列ビルダー
      • createArrayBuilder

        public static JsonArrayBuilder createArrayBuilder​(JsonArray array)
        指定された配列で初期化された JSON 配列ビルダーを作成します
        パラメーター:
        array - ビルダーの初期配列
        戻り値:
        JSON 配列ビルダー
        導入:
        1.1
      • createArrayBuilder

        public static JsonArrayBuilder createArrayBuilder​(CollectionSE<?> collection)
        指定された collection のコンテンツで初期化された JSON 配列ビルダーを作成します。@{code collection} に OptionalSE が含まれている場合、OptionalSE が空でない場合にのみ、結果の JSON 配列ビルダーに collection からの値が含まれます。
        パラメーター:
        collection - ビルダーの初期データ
        戻り値:
        JSON 配列ビルダー
        例外:
        IllegalArgumentExceptionSE - collection からの値を対応する JsonValue に変換できない場合
        導入:
        1.1
      • createObjectBuilder

        public static JsonObjectBuilder createObjectBuilder()
        JSON オブジェクトビルダーを作成します
        戻り値:
        JSON オブジェクトビルダー
      • createObjectBuilder

        public static JsonObjectBuilder createObjectBuilder​(JsonObject object)
        指定されたオブジェクトで初期化された JSON オブジェクトビルダーを作成します。
        パラメーター:
        object - ビルダーの初期オブジェクト
        戻り値:
        JSON オブジェクトビルダー
        導入:
        1.1
      • createObjectBuilder

        public static JsonObjectBuilder createObjectBuilder​(MapSE<StringSE,​?> map)
        指定された map からのデータで初期化された JSON オブジェクトビルダーを作成します。@{code map} に OptionalSE が含まれている場合、結果の JSON オブジェクトビルダーには、OptionalSE が空でない場合にのみ、map からのキーが含まれます。
        パラメーター:
        map - ビルダーの初期オブジェクト
        戻り値:
        JSON オブジェクトビルダー
        例外:
        IllegalArgumentExceptionSE - map からの値を対応する JsonValue に変換できない場合
        導入:
        1.1
      • createPointer

        public static JsonPointer createPointer​(StringSE jsonPointer)
        指定された jsonPointer 文字列から JSON ポインター(RFC 6901)を作成します。
        • 空の jsonPointer 文字列は、ターゲット自体への参照を定義します。
        • jsonPointer 文字列が空でない場合、'/' 接頭辞付きトークンのシーケンスでなければなりません。
        パラメーター:
        jsonPointer - 有効なエスケープされた JSON ポインター文字列
        戻り値:
        JSON ポインター
        例外:
        NullPointerExceptionSE - jsonPointer が null の場合
        JsonException - jsonPointer が有効な JSON ポインターでない場合
        導入:
        1.1
      • createPatchBuilder

        public static JsonPatchBuilder createPatchBuilder()
        JSON Patch Builder(RFC 6902)を作成します。
        戻り値:
        JSON Patch Builder
        導入:
        1.1
      • createPatchBuilder

        public static JsonPatchBuilder createPatchBuilder​(JsonArray array)
        指定された操作で初期化された JSON パッチビルダー(RFC 6902)を作成します。
        パラメーター:
        array - 初期パッチ操作
        戻り値:
        JSON Patch Builder
        導入:
        1.1
      • createPatch

        public static JsonPatch createPatch​(JsonArray array)
        指定された操作から JSON パッチ(RFC 6902)を作成します。
        パラメーター:
        array - パッチ操作
        戻り値:
        JSON パッチ
        導入:
        1.1
      • createDiff

        public static JsonPatch createDiff​(JsonStructure source,
                                           JsonStructure target)
        ソースおよびターゲット JsonStructure から JSON パッチ(RFC 6902)を生成します。生成された JSON パッチは一意である必要はありません。
        パラメーター:
        source - ソース
        target - ターゲット、ソースと同じ型である必要があります
        戻り値:
        ソースに適用するとターゲットを生成する JSON パッチ
        導入:
        1.1
      • createMergePatch

        public static JsonMergePatch createMergePatch​(JsonValue patch)
        指定された JsonValue から JSON マージパッチ(RFC 7396)を作成します。
        パラメーター:
        patch - パッチ
        戻り値:
        JSON マージパッチ
        導入:
        1.1
      • createMergeDiff

        public static JsonMergePatch createMergeDiff​(JsonValue source,
                                                     JsonValue target)
        ソースとターゲットの JsonValue から JSON マージパッチ(RFC 7396)を生成します。source に適用すると、target が生成されます。
        パラメーター:
        source - ソース
        target - ターゲット
        戻り値:
        JSON マージパッチ
        導入:
        1.1
      • createBuilderFactory

        public static JsonBuilderFactory createBuilderFactory​(MapSE<StringSE,​?> config)
        JsonArrayBuilder および JsonObjectBuilder オブジェクトを作成するためのビルダーファクトリを作成します。ファクトリは、プロバイダー固有の構成プロパティの指定されたマップで構成されます。プロバイダーの実装では、マップで指定されているサポートされていない構成プロパティを無視する必要があります。
        パラメーター:
        config - JSON ビルダーを構成するためのプロバイダー固有のプロパティのマップ。地図は空または null
        戻り値:
        JSON ビルダーファクトリ
      • createValue

        public static JsonString createValue​(StringSE value)
        JsonString を作成します。
        パラメーター:
        value - JSON 文字列
        戻り値:
        文字列の JsonString
        導入:
        1.1
      • createValue

        public static JsonNumber createValue​(int value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public static JsonNumber createValue​(long value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public static JsonNumber createValue​(double value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public static JsonNumber createValue​(BigDecimalSE value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • createValue

        public static JsonNumber createValue​(BigIntegerSE value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        1.1
      • encodePointer

        public static StringSE encodePointer​(StringSE pointer)
        RFC 6901 で定義されているように、渡された文字列をエンコード(エスケープ)します。このメソッドは、渡された JSON ポインター文字列を検証しません。
        パラメーター:
        pointer - エンコードする JSON ポインター文字列
        戻り値:
        エンコードされた JSON ポインター文字列
        導入:
        1.1
      • decodePointer

        public static StringSE decodePointer​(StringSE escaped)
        RFC 6901 で定義されているように、渡された JSON ポインター文字列をデコードします。このメソッドは、渡された JSON ポインター文字列を検証しません。
        パラメーター:
        escaped - デコードする JSON ポインター文字列
        戻り値:
        デコードされた JSON ポインター文字列
        導入:
        1.1
      • createValue

        public static JsonNumber createValue​(NumberSE value)
        JsonNumber を作成します。
        パラメーター:
        value - JSON 番号
        戻り値:
        番号の JsonNumber
        導入:
        2.1