パッケージ jakarta.json
インターフェース JsonArray
- すべてのスーパーインターフェース:
CollectionSE<JsonValue>、IterableSE<JsonValue>、JsonStructure、JsonValue、ListSE<JsonValue>
JsonArray は、不変の JSON 配列(順序付けされた 0 個以上の値のシーケンス)を表します。また、配列内の値の変更不可能なリストビューも提供します。JsonArray オブジェクトは、入力ソースから JSON データを読み取ることによって作成するか、配列ビルダーオブジェクトを使用してゼロから構築できます。
次の例は、メソッド JsonReader.readArray() を使用して入力ソースから JsonArray オブジェクトを作成する方法を示しています。
JsonReader jsonReader = Json.createReader(...);
JsonArray array = jsonReader.readArray();
jsonReader.close();
次の例は、クラス JsonArrayBuilder を使用して空の JSON 配列を作成する方法を示しています。
JsonArray array = Json.createArrayBuilder().build();
以下のコード例は、次の JSON 配列を作成する方法を示しています。
[
{ "type": "home", "number": "212 555-1234" },
{ "type": "fax", "number": "646 555-4567" }
]
JsonArray value = 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();
次の例は、JsonArray オブジェクトを JSON データとして書き込む方法を示しています。
JsonArray arr = ...;
JsonWriter writer = Json.createWriter(...)
writer.writeArray(arr);
writer.close();
JsonArray の値は、JsonObject、JsonArray、JsonString、JsonNumber、JsonValue.TRUE、JsonValue.FALSE、JsonValue.NULL の型になります。JsonArray は、配列内の値にアクセスするためのさまざまなアクセサーメソッドを提供します。
次の例は、前の例で作成した配列から自宅の電話番号 "212 555-1234" を取得する方法を示しています。
JsonObject home = array.getJsonObject(0);
String number = home.getString("number");
JsonArray インスタンスは、JSON 配列の値への読み取り専用アクセスを提供するリストオブジェクトです。直接またはそのコレクションビューを使用して、リストを変更しようとすると、UnsupportedOperationException になります。
ネストされたクラスの要約
インターフェース jakarta.json.JsonValue から継承されたネストクラス / インターフェース
JsonValue.ValueTypeフィールドのサマリー
インターフェース jakarta.json.JsonValue から継承されたフィールド
EMPTY_JSON_ARRAY, EMPTY_JSON_OBJECT, FALSE, NULL, TRUE方法の概要
修飾子と型メソッド説明booleangetBoolean(int index) 指定された位置にあるブール値を返します。booleangetBoolean(int index, boolean defaultValue) 指定された位置にあるブール値を返します。intgetInt(int index) getJsonNumber(index).intValue()の簡易メソッド。intgetInt(int index, int defaultValue) 指定された位置にあるJsonNumberの int 値を返します。getJsonArray(int index) この配列の指定された位置にある配列値を返します。getJsonNumber(int index) この配列の指定された位置にある数値を返します。getJsonObject(int index) この配列内の指定された位置にあるオブジェクト値を返します。getJsonString(int index) この配列内の指定された位置にある文字列値を返します。getString(int index) getJsonString(index).getString()の簡易メソッド。この JSON 配列値の指定された位置にあるJsonStringのString値を返します。getValuesAs(ClassSE<T> clazz) 配列に対して指定された型のリストビューを返します。getValuesAs(FunctionSE<K, T> func) 配列のリストビューを返します。booleanisNull(int index) この配列内の指定された位置の値がJsonValue.NULLの場合、trueを返します。インターフェース java.util.CollectionSE から継承されたメソッド
parallelStream, removeIfSE, stream, toArraySEインターフェース java.lang.IterableSE から継承されたメソッド
forEachSEインターフェース jakarta.json.JsonStructure から継承されたメソッド
getValueインターフェース jakarta.json.JsonValue から継承されたメソッド
asJsonArray, asJsonObject, getValueType, toStringインターフェース java.util.ListSE から継承されたメソッド
addSE, addSE, addAllSE, addAllSE, clear, containsSE, containsAllSE, equalsSE, getSE, hashCode, indexOfSE, isEmpty, iterator, lastIndexOfSE, listIterator, listIteratorSE, removeSE, removeSE, removeAllSE, replaceAllSE, retainAllSE, setSE, size, sortSE, spliterator, subListSE, toArray, toArraySE
メソッドの詳細
getJsonObject
この配列の指定された位置にあるオブジェクト値を返します。これは(JsonObject)get(index)の簡易メソッドです。- パラメーター:
index- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値が JsonObject 型に割り当てられない場合
getJsonArray
この配列の指定された位置にある配列値を返します。これは(JsonArray)get(index)の簡易メソッドです。- パラメーター:
index- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値が JsonArray 型に割り当てられない場合
getJsonNumber
この配列の指定された位置にある数値を返します。これは(JsonNumber)get(index)の便利なメソッドです。- パラメーター:
index- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値が JsonNumber 型に割り当てられない場合
getJsonString
この配列内の指定された位置にある文字列値を返します。これは(JsonString)get(index)の便利なメソッドです。- パラメーター:
index- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値が JsonString 型に割り当てられない場合
getValuesAs
配列に対して指定された型のリストビューを返します。このメソッドは、配列に間違った型の値があるかどうかを検証しません。この型安全ビューを動的に提供すると、この配列に誤った型の値がある場合、プログラムがClassCastExceptionで失敗する可能性があります。残念ながら、このメソッドが戻った後はいつでも例外が発生する可能性があります。- 型パラメーター:
T- 配列のリストの型- パラメーター:
clazz- JsonValue 型- 戻り値:
- 指定された型のリストビュー
getValuesAs
配列のリストビューを返します。リスト内の要素の値と型は、func引数で指定されます。このメソッドを使用して、次のようなラップされていない型のリストを取得できます。
または、以下のような単純な射影のリストList<String> strings = ary1.getValuesAs(JsonString::getString); List<Integer> ints = ary2.getValuesAs(JsonNumber::intValue);List<Integer> stringsizes = ary1.getValueAs((JsonString v)->v.getString().length();- 型パラメーター:
K- この JsonArray の要素型(JsonValue のサブ型でなければならない)。T- 返されるリストの要素型- パラメーター:
func- この JsonArray の要素をターゲット要素にマップする関数。- 戻り値:
- 指定された値と型のリスト。
- 例外:
ClassCastExceptionSE-JsonArrayに誤った型の値が含まれている場合- 導入:
- 1.1
getString
getJsonString(index).getString()の簡易メソッド。- パラメーター:
index-JsonString値のインデックス- 戻り値:
- 指定された位置の文字列値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値がJsonStringに割り当て可能でない場合
getString
この JSON 配列値の指定された位置にあるJsonStringのString値を返します。JsonStringが見つかると、そのJsonString.getString()が返されます。それ以外の場合は、指定されたデフォルト値が返されます。- パラメーター:
index-JsonString値のインデックスdefaultValue- 指定された位置のJsonValueがJsonStringではない場合に返す文字列- 戻り値:
- この配列の指定された位置にある文字列値、または指定されたデフォルト値
getInt
int getInt(int index) getJsonNumber(index).intValue()の簡易メソッド。- パラメーター:
index-JsonNumber値のインデックス- 戻り値:
- 指定された位置の int 値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値がJsonNumberに割り当て可能でない場合
getInt
int getInt(int index, int defaultValue) 指定された位置にあるJsonNumberの int 値を返します。その位置の値がJsonNumberの場合、このメソッドはJsonNumber.intValue()を返します。それ以外の場合、このメソッドは指定されたデフォルト値を返します。- パラメーター:
index-JsonNumber値のインデックスdefaultValue- 指定された位置のJsonValueがJsonNumberではない場合に返す int 値- 戻り値:
- この配列の指定された位置にある int 値、または指定されたデフォルト値
getBoolean
boolean getBoolean(int index) 指定された位置にあるブール値を返します。指定された位置の値がJsonValue.TRUEの場合、このメソッドはtrueを返します。指定された位置の値がJsonValue.FALSEの場合、このメソッドはfalseを返します。- パラメーター:
index- JSON ブール値のインデックス- 戻り値:
- 指定された位置のブール値
- 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合ClassCastExceptionSE- 指定された位置の値がJsonValue.TRUEまたはJsonValue.FALSEでない場合
getBoolean
boolean getBoolean(int index, boolean defaultValue) 指定された位置にあるブール値を返します。指定された位置の値がJsonValue.TRUEの場合、このメソッドはtrueを返します。指定された位置の値がJsonValue.FALSEの場合、このメソッドはfalseを返します。それ以外の場合、このメソッドは指定されたデフォルト値を返します。- パラメーター:
index- JSON ブール値のインデックスdefaultValue- 指定された位置のJsonValueが TRUE でも FALSE でもない場合に返すブール値- 戻り値:
- 指定された位置のブール値、または指定されたデフォルト値
isNull
boolean isNull(int index) この配列内の指定された位置の値がJsonValue.NULLの場合、trueを返します。- パラメーター:
index- JSON null 値のインデックス- 戻り値:
- 指定された位置の値が
JsonValue.NULLの場合は true を返し、それ以外の場合は false を返します - 例外:
IndexOutOfBoundsExceptionSE- インデックスが範囲外の場合