パッケージ jakarta.json
インターフェース JsonObject
- すべてのスーパーインターフェース:
JsonStructure
、JsonValue
、MapSE<StringSE,
JsonValue>
JsonObject
クラスは、不変の JSON オブジェクト値(0 個以上の名前と値のペアの順序付けられていないコレクション)を表します。また、JSON オブジェクトの名前 / 値マッピングへの変更不可能なマップビューも提供します。JsonObject インスタンスは、JsonReader.readObject()
を使用して入力ソースから作成できます。例:
JsonReader jsonReader = Json.createReader(...);
JsonObject object = jsonReader.readObject();
jsonReader.close();
JsonObjectBuilder
を使用してゼロから構築することもできます。例 1: 空の JSON オブジェクトは次のように構築できます。
JsonObject object = Json.createObjectBuilder().build();
例 2: 次の JSON
{
"firstName": "John", "lastName": "Smith", "age": 25,
"address" : {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{ "type": "home", "number": "212 555-1234" },
{ "type": "fax", "number": "646 555-4567" }
]
}
を使用して構築できます:
JsonObject value = Json.createObjectBuilder()
.add("firstName", "John")
.add("lastName", "Smith")
.add("age", 25)
.add("address", Json.createObjectBuilder()
.add("streetAddress", "21 2nd Street")
.add("city", "New York")
.add("state", "NY")
.add("postalCode", "10021"))
.add("phoneNumber", Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("type", "home")
.add("number", "212 555-1234"))
.add(Json.createObjectBuilder()
.add("type", "fax")
.add("number", "646 555-4567")))
.build();
JsonObject
は、次のように JSON に書き込むことができます。
JsonWriter writer = ...
JsonObject obj = ...;
writer.writeObject(obj);
JsonObject
の値には、JsonObject
、JsonArray
、JsonString
、JsonNumber
、JsonValue.TRUE
、JsonValue.FALSE
、JsonValue.NULL
を指定できます。これらの値には、さまざまなアクセサーメソッドを使用してアクセスできます。上記の例 2 では、"John" は次のようにして取得できます。
String firstName = object.getString("firstName");
このマップオブジェクトは、JSON オブジェクトデータへの読み取り専用アクセスを提供し、直接またはコレクションビューを介してマップを変更しようとすると、UnsupportedOperationException
になります。マップオブジェクトの反復順序は、名前と値のペアが対応するビルダーに追加される順序、または名前と値のペアが対応するストリームに表示される順序に基づいています。
ネストされたクラスのサマリー
インターフェース jakarta.json.JsonValue から継承されたネストクラス / インターフェース
JsonValue.ValueType
フィールドのサマリー
インターフェース jakarta.json.JsonValue から継承されたフィールド
EMPTY_JSON_ARRAY, EMPTY_JSON_OBJECT, FALSE, NULL, TRUE
メソッドのサマリー
修飾子と型メソッド説明boolean
getBoolean
(StringSE name) 指定された名前に関連付けられたマッピングのブール値を返します。boolean
getBoolean
(StringSE name, boolean defaultValue) 指定された名前に関連付けられたマッピングのブール値を返します。int
getJsonNumber(name).intValue()
の簡易メソッドint
指定された名前に関連付けられたJsonNumber
マッピングの int 値を返します。getJsonArray
(StringSE name) 指定された名前がマップされている配列値を返します。getJsonNumber
(StringSE name) 指定された名前がマップされている数値を返します。getJsonObject
(StringSE name) 指定された名前がマップされるオブジェクト値を返します。getJsonString
(StringSE name) 指定された名前がマップされている文字列値を返します。getJsonString(name).getString()
の簡易メソッド指定された名前に関連付けられたJsonString
マッピングの文字列値を返します。boolean
指定された名前に関連付けられた値がJsonValue.NULL
の場合、true
を返します。インターフェース jakarta.json.JsonStructure から継承されたメソッド
getValue
インターフェース jakarta.json.JsonValue から継承されたメソッド
asJsonArray, asJsonObject, getValueType, toString
インターフェース java.util.MapSE から継承されたメソッド
clear, computeSE, computeIfAbsentSE, computeIfPresentSE, containsKeySE, containsValueSE, entrySet, equalsSE, forEachSE, getSE, getOrDefaultSE, hashCode, isEmpty, keySet, mergeSE, putSE, putAllSE, putIfAbsentSE, removeSE, removeSE, replaceSE, replaceSE, replaceAllSE, size, values
メソッドの詳細
getJsonArray
指定された名前がマップされている配列値を返します。これは、(JsonArray)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされている配列値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonArray 型に割り当てられない場合
getJsonObject
指定された名前がマッピングされているオブジェクト値を返します。これは、(JsonObject)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされているオブジェクト値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonObject 型に割り当てられない場合
getJsonNumber
指定された名前がマッピングされている数値を返します。これは、(JsonNumber)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされている数値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonNumber 型に割り当てられない場合
getJsonString
指定された名前がマップされている文字列値を返します。これは、(JsonString)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされている文字列値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonString 型に割り当てられない場合
getString
getJsonString(name).getString()
の簡易メソッド- パラメーター:
name
- 関連する値が文字列として返される- 戻り値:
- 指定された名前がマッピングされる文字列値
- 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合ClassCastExceptionSE
- 指定された名前マッピングの値が JsonString に割り当てられない場合
getString
指定された名前に関連付けられたJsonString
マッピングの文字列値を返します。JsonString
が見つかると、そのJsonString.getString()
が返されます。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
name
- 関連する値が文字列として返されるdefaultValue
- 返されるデフォルト値- 戻り値:
- 名前に関連付けられたマッピングの文字列値、またはデフォルト値
getInt
getJsonNumber(name).intValue()
の簡易メソッド- パラメーター:
name
- 関連する値が int として返される- 戻り値:
- 指定された名前がマップされる int 値
- 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合ClassCastExceptionSE
- 指定された名前マッピングの値が JsonNumber に割り当てられない場合
getInt
指定された名前に関連付けられたJsonNumber
マッピングの int 値を返します。JsonNumber
が見つかると、そのJsonNumber.intValue()
が返されます。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
name
- 関連する値が int として返されるdefaultValue
- 返されるデフォルト値- 戻り値:
- 名前に関連付けられたマッピングの int 値、またはデフォルト値
getBoolean
指定された名前に関連付けられたマッピングのブール値を返します。関連するマッピングが JsonValue.TRUE の場合、true を返します。関連するマッピングが JsonValue.FALSE の場合、false を返します。- パラメーター:
name
- 関連付けられた値がブール値として返される- 戻り値:
- 指定された名前がマッピングされるブール値
- 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合ClassCastExceptionSE
- 指定された名前マッピングの値が JsonValue.TRUE または JsonValue.FALSE に割り当てられない場合
getBoolean
指定された名前に関連付けられたマッピングのブール値を返します。関連するマッピングが JsonValue.TRUE の場合、true を返します。関連するマッピングが JsonValue.FALSE の場合、false を返します。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
name
- 関連する値が int として返されるdefaultValue
- 返されるデフォルト値- 戻り値:
- 名前に関連付けられたマッピングのブール値、またはデフォルト値
isNull
指定された名前に関連付けられた値がJsonValue.NULL
の場合、true
を返します。- パラメーター:
name
- 関連する値がチェックされる名前- 戻り値:
- 関連する値が
JsonValue.NULL
の場合は true を返し、それ以外の場合は false を返します - 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合