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 オブジェクトは次のように構築できます。
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
になります。マップオブジェクトの反復順序は、名前と値のペアが対応するビルダーに追加される順序、または名前と値のペアが対応するストリームに表示される順序に基づいています。
JsonValue.ValueType
Map.EntrySE<KSE, VSE>
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 を返します。 |
getValue
asJsonArray, asJsonObject, getValueType, toString
clearSE, computeSE, computeIfAbsentSE, computeIfPresentSE, containsKeySE, containsValueSE, entrySetSE, equalsSE, forEachSE, getSE, getOrDefaultSE, hashCodeSE, isEmptySE, keySetSE, mergeSE, putSE, putAllSE, putIfAbsentSE, removeSE, removeSE, replaceSE, replaceSE, replaceAllSE, sizeSE, valuesSE
JsonArray getJsonArray(StringSE name)
(JsonArray)get(name)
が値を取得するための便利なメソッドです。name
- 関連する値が返される名前 null
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonArray 型に割り当てられない場合 JsonObject getJsonObject(StringSE name)
(JsonObject)get(name)
が値を取得するための便利なメソッドです。name
- 関連する値が返される名前 null
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonObject 型に割り当てられない場合 JsonNumber getJsonNumber(StringSE name)
(JsonNumber)get(name)
が値を取得するための便利なメソッドです。name
- 関連する値が返される名前 null
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonNumber 型に割り当てられない場合 JsonString getJsonString(StringSE name)
(JsonString)get(name)
が値を取得するための便利なメソッドです。name
- 関連する値が返される名前 null
ClassCastExceptionSE
- 指定された名前がマップされる値が JsonString 型に割り当てられない場合 StringSE getString(StringSE name)
getJsonString(name).getString()
の簡易メソッド name
- 関連する値が文字列として返される NullPointerExceptionSE
- 指定された名前にマッピングがない場合 ClassCastExceptionSE
- 指定された名前マッピングの値が JsonString に割り当てられない場合 StringSE getString(StringSE name, StringSE defaultValue)
JsonString
マッピングの文字列値を返します。JsonString
が見つかると、その JsonString.getString()
が返されます。それ以外の場合は、指定されたデフォルト値が返されます。name
- 関連する値が文字列として返される defaultValue
- 返されるデフォルト値 int getInt(StringSE name)
getJsonNumber(name).intValue()
の簡易メソッド name
- 関連する値が int として返される NullPointerExceptionSE
- 指定された名前にマッピングがない場合 ClassCastExceptionSE
- 指定された名前マッピングの値が JsonNumber に割り当てられない場合 int getInt(StringSE name, int defaultValue)
JsonNumber
マッピングの int 値を返します。JsonNumber
が見つかると、その JsonNumber.intValue()
が返されます。それ以外の場合は、指定されたデフォルト値が返されます。name
- 関連する値が int として返される defaultValue
- 返されるデフォルト値 boolean getBoolean(StringSE name)
name
- 関連付けられた値がブール値として返される NullPointerExceptionSE
- 指定された名前にマッピングがない場合 ClassCastExceptionSE
- 指定された名前マッピングの値が JsonValue.TRUE または JsonValue.FALSE に割り当てられない場合 boolean getBoolean(StringSE name, boolean defaultValue)
name
- 関連する値が int として返される defaultValue
- 返されるデフォルト値 boolean isNull(StringSE name)
JsonValue.NULL
の場合、true
を返します。name
- 関連する値がチェックされる名前 JsonValue.NULL
の場合は true を返し、それ以外の場合は false を返します NullPointerExceptionSE
- 指定された名前にマッピングがない場合 Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.