パッケージ jakarta.json
インターフェース JsonObject
- すべてのスーパーインターフェース:
JsonStructure
、JsonValue
、MapSE<StringSE,JsonValue>
public interface JsonObject extends JsonStructure, MapSE<StringSE,JsonValue>
JsonObject
クラスは、不変の JSON オブジェクト値(0 個以上の名前と値のペアの順序付けられていないコレクション)を表します。また、JSON オブジェクトの名前 / 値マッピングへの変更不可能なマップビューも提供します。JsonObject インスタンスは、
JsonReader.readObject()
を使用して入力ソースから作成できます。例:JsonReader jsonReader = Json.createReader(...); JsonObject object = jsonReader.readObject(); jsonReader.close();
JsonObjectBuilder
を使用してゼロから構築することもできます。例 1: 空の JSON オブジェクトは次のように構築できます。
例 2: 次の JSONJsonObject object = Json.createObjectBuilder().build();
を使用して構築できます:{ "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" は次のようにして取得できます。
このマップオブジェクトは、JSON オブジェクトデータへの読み取り専用アクセスを提供し、直接またはコレクションビューを介してマップを変更しようとすると、String firstName = object.getString("firstName");
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
getInt(StringSE name)
getJsonNumber(name).intValue()
の簡易メソッドint
getInt(StringSE name, int defaultValue)
指定された名前に関連付けられたJsonNumber
マッピングの int 値を返します。JsonArray
getJsonArray(StringSE name)
指定された名前がマップされている配列値を返します。JsonNumber
getJsonNumber(StringSE name)
指定された名前がマップされている数値を返します。JsonObject
getJsonObject(StringSE name)
指定された名前がマップされるオブジェクト値を返します。JsonString
getJsonString(StringSE name)
指定された名前がマップされている文字列値を返します。StringSE
getString(StringSE name)
getJsonString(name).getString()
の簡易メソッドStringSE
getString(StringSE name, StringSE defaultValue)
指定された名前に関連付けられたJsonString
マッピングの文字列値を返します。boolean
isNull(StringSE name)
指定された名前に関連付けられた値が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 getJsonArray(StringSE name)
指定された名前がマップされている配列値を返します。これは、(JsonArray)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされている配列値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonArray 型に割り当てられない場合
getJsonObject
JsonObject getJsonObject(StringSE name)
指定された名前がマッピングされているオブジェクト値を返します。これは、(JsonObject)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされているオブジェクト値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonObject 型に割り当てられない場合
getJsonNumber
JsonNumber getJsonNumber(StringSE name)
指定された名前がマッピングされている数値を返します。これは、(JsonNumber)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされている数値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonNumber 型に割り当てられない場合
getJsonString
JsonString getJsonString(StringSE name)
指定された名前がマップされている文字列値を返します。これは、(JsonString)get(name)
が値を取得するための便利なメソッドです。- パラメーター:
name
- 関連する値が返される名前- 戻り値:
- 指定された名前がマッピングされている文字列値、またはこのオブジェクトに名前のマッピングが含まれていない場合は
null
- 例外:
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonString 型に割り当てられない場合
getString
StringSE getString(StringSE name)
getJsonString(name).getString()
の簡易メソッド- パラメーター:
name
- 関連する値が文字列として返される- 戻り値:
- 指定された名前がマッピングされる文字列値
- 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合ClassCastExceptionSE
- 指定された名前マッピングの値が JsonString に割り当てられない場合
getString
StringSE getString(StringSE name, StringSE defaultValue)
指定された名前に関連付けられたJsonString
マッピングの文字列値を返します。JsonString
が見つかると、そのJsonString.getString()
が返されます。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
name
- 関連する値が文字列として返されるdefaultValue
- 返されるデフォルト値- 戻り値:
- 名前に関連付けられたマッピングの文字列値、またはデフォルト値
getInt
int getInt(StringSE name)
getJsonNumber(name).intValue()
の簡易メソッド- パラメーター:
name
- 関連する値が int として返される- 戻り値:
- 指定された名前がマップされる int 値
- 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合ClassCastExceptionSE
- 指定された名前マッピングの値が JsonNumber に割り当てられない場合
getInt
int getInt(StringSE name, int defaultValue)
指定された名前に関連付けられたJsonNumber
マッピングの int 値を返します。JsonNumber
が見つかると、そのJsonNumber.intValue()
が返されます。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
name
- 関連する値が int として返されるdefaultValue
- 返されるデフォルト値- 戻り値:
- 名前に関連付けられたマッピングの int 値、またはデフォルト値
getBoolean
boolean getBoolean(StringSE name)
指定された名前に関連付けられたマッピングのブール値を返します。関連するマッピングが JsonValue.TRUE の場合、true を返します。関連するマッピングが JsonValue.FALSE の場合、false を返します。- パラメーター:
name
- 関連付けられた値がブール値として返される- 戻り値:
- 指定された名前がマッピングされるブール値
- 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合ClassCastExceptionSE
- 指定された名前マッピングの値が JsonValue.TRUE または JsonValue.FALSE に割り当てられない場合
getBoolean
boolean getBoolean(StringSE name, boolean defaultValue)
指定された名前に関連付けられたマッピングのブール値を返します。関連するマッピングが JsonValue.TRUE の場合、true を返します。関連するマッピングが JsonValue.FALSE の場合、false を返します。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
name
- 関連する値が int として返されるdefaultValue
- 返されるデフォルト値- 戻り値:
- 名前に関連付けられたマッピングのブール値、またはデフォルト値
isNull
boolean isNull(StringSE name)
指定された名前に関連付けられた値がJsonValue.NULL
の場合、true
を返します。- パラメーター:
name
- 関連する値がチェックされる名前- 戻り値:
- 関連する値が
JsonValue.NULL
の場合は true を返し、それ以外の場合は false を返します - 例外:
NullPointerExceptionSE
- 指定された名前にマッピングがない場合