パッケージ jakarta.json
インターフェース JsonArray
- すべてのスーパーインターフェース:
CollectionSE<JsonValue>
、IterableSE<JsonValue>
、JsonStructure
、JsonValue
、ListSE<JsonValue>
public interface JsonArray extends JsonStructure, 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
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド デフォルトメソッド 修飾子と型 メソッド 説明 boolean
getBoolean(int index)
指定された位置にあるブール値を返します。boolean
getBoolean(int index, boolean defaultValue)
指定された位置にあるブール値を返します。int
getInt(int index)
getJsonNumber(index).intValue()
の簡易メソッド。int
getInt(int index, int defaultValue)
指定された位置にあるJsonNumber
の int 値を返します。JsonArray
getJsonArray(int index)
この配列の指定された位置にある配列値を返します。JsonNumber
getJsonNumber(int index)
この配列の指定された位置にある数値を返します。JsonObject
getJsonObject(int index)
この配列内の指定された位置にあるオブジェクト値を返します。JsonString
getJsonString(int index)
この配列内の指定された位置にある文字列値を返します。StringSE
getString(int index)
getJsonString(index).getString()
の簡易メソッド。StringSE
getString(int index, StringSE defaultValue)
この JSON 配列値の指定された位置にあるJsonString
のString
値を返します。<T extends JsonValue>
ListSE<T>getValuesAs(ClassSE<T> clazz)
配列に対して指定された型のリストビューを返します。default <T,K extends JsonValue>
ListSE<T>getValuesAs(FunctionSE<K,T> func)
配列のリストビューを返します。boolean
isNull(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 getJsonObject(int index)
この配列の指定された位置にあるオブジェクト値を返します。これは(JsonObject)get(index)
の簡易メソッドです。- パラメーター:
index
- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE
- インデックスが範囲外の場合ClassCastExceptionSE
- 指定された位置の値が JsonObject 型に割り当てられない場合
getJsonArray
JsonArray getJsonArray(int index)
この配列の指定された位置にある配列値を返します。これは(JsonArray)get(index)
の簡易メソッドです。- パラメーター:
index
- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE
- インデックスが範囲外の場合ClassCastExceptionSE
- 指定された位置の値が JsonArray 型に割り当てられない場合
getJsonNumber
JsonNumber getJsonNumber(int index)
この配列の指定された位置にある数値を返します。これは(JsonNumber)get(index)
の便利なメソッドです。- パラメーター:
index
- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE
- インデックスが範囲外の場合ClassCastExceptionSE
- 指定された位置の値が JsonNumber 型に割り当てられない場合
getJsonString
JsonString getJsonString(int index)
この配列内の指定された位置にある文字列値を返します。これは(JsonString)get(index)
の便利なメソッドです。- パラメーター:
index
- 返される値のインデックス- 戻り値:
- この配列内の指定された位置の値
- 例外:
IndexOutOfBoundsExceptionSE
- インデックスが範囲外の場合ClassCastExceptionSE
- 指定された位置の値が JsonString 型に割り当てられない場合
getValuesAs
<T extends JsonValue> ListSE<T> getValuesAs(ClassSE<T> clazz)
配列に対して指定された型のリストビューを返します。このメソッドは、配列に間違った型の値があるかどうかを検証しません。この型安全ビューを動的に提供すると、この配列に誤った型の値がある場合、プログラムがClassCastException
で失敗する可能性があります。残念ながら、このメソッドが戻った後はいつでも例外が発生する可能性があります。- 型パラメーター:
T
- 配列のリストの型- パラメーター:
clazz
- JsonValue 型- 戻り値:
- 指定された型のリストビュー
getValuesAs
default <T,K extends JsonValue> ListSE<T> getValuesAs(FunctionSE<K,T> func)
配列のリストビューを返します。リスト内の要素の値と型は、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
StringSE getString(int index)
getJsonString(index).getString()
の簡易メソッド。- パラメーター:
index
-JsonString
値のインデックス- 戻り値:
- 指定された位置の文字列値
- 例外:
IndexOutOfBoundsExceptionSE
- インデックスが範囲外の場合ClassCastExceptionSE
- 指定された位置の値がJsonString
に割り当て可能でない場合
getString
StringSE getString(int index, StringSE defaultValue)
この 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
- インデックスが範囲外の場合