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.ValueTypeMap.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 を返します。 |
getValueasJsonArray, asJsonObject, getValueType, toStringclearSE, computeSE, computeIfAbsentSE, computeIfPresentSE, containsKeySE, containsValueSE, entrySetSE, equalsSE, forEachSE, getSE, getOrDefaultSE, hashCodeSE, isEmptySE, keySetSE, mergeSE, putSE, putAllSE, putIfAbsentSE, removeSE, removeSE, replaceSE, replaceSE, replaceAllSE, sizeSE, valuesSEJsonArray 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.