次の方法で共有


JsonReader クラス

  • java.lang.Object
    • com.azure.json.JsonReader

実装

public abstract class JsonReader
implements Closeable

JSON 値をトークンのストリームとして読み取ります。

JsonReader インスタンスは、 のインスタンス JsonProvider を使用するか、 のユーティリティ メソッドを使用して作成されます JsonProviders

コンストラクターの概要

コンストラクター 説明
JsonReader()

JsonReader のインスタンスを作成します。

メソッドの概要

修飾子と型 メソッドと説明
final T getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

null 許容型を読み取る便利なメソッド。

final List<T> readArray(ReadValueCallback<JsonReader,T> elementReaderFunc)

JSON 配列を読み取ります。

final Map<String,T> readMap(ReadValueCallback<JsonReader,T> valueReaderFunc)

JSON マップを読み取ります。

final T readObject(ReadValueCallback<JsonReader,T> objectReaderFunc)

JSON オブジェクトを読み取ります。

abstract JsonReader bufferObject()

が指している現在の JSON オブジェクトを JsonReader 読み取って返します。

abstract void close()

JSON ストリームを閉じます。

abstract JsonToken currentToken()

リーダーが JsonToken 現在指している を取得します。

abstract byte[] getBinary()

リーダーが現在トークンを指している場合は、バイナリ値を STRING 取得します。

abstract boolean getBoolean()

リーダーが現在トークンを指している場合は、ブール値を BOOLEAN 取得します。

abstract double getDouble()

リーダーが現在 または STRINGを指している場合は、double 値をNUMBER取得します。

abstract String getFieldName()

リーダーが現在 を指している場合は、フィールド名を FIELD_NAME取得します。

abstract float getFloat()

リーダーが現在 または STRINGを指している場合は、浮動小数点値をNUMBER取得します。

abstract int getInt()

リーダーが現在 または STRINGを指している場合は、int 値をNUMBER取得します。

abstract long getLong()

リーダーが現在 または STRINGを指している場合は、長い値をNUMBER取得します。

String getRawText()

の生テキスト値を取得します currentToken()

abstract String getString()

リーダーが現在 、NULLNUMBERまたは STRINGを指している場合は、BOOLEANString 値を取得します。

final String getText()

のテキスト値を取得します currentToken()

final boolean isEndArrayOrObject()

currentToken()END_ARRAY であるか、 であるか END_OBJECT

abstract boolean isResetSupported()

が を JsonReader サポートしているかどうかを示します reset()

final boolean isStartArrayOrObject()

currentToken()START_ARRAY であるか、 であるか START_OBJECT

abstract JsonToken nextToken()

を反復処理し、JSON でエンコードされた値の次 JsonToken の を返します。

final String readChildren()

現在のトークンが または START_OBJECTであるSTART_ARRAY場合は、JSON トークン サブストリームを再帰的に読み取ります。

final void readChildren(StringBuilder buffer)

現在のトークンが または START_ARRAYSTART_OBJECT である場合は、渡された StringBuilderに JSON トークン サブストリームを再帰的に読み取ります。

final String readRemainingFieldsAsJsonObject()

現在の JSON オブジェクト内の残りのフィールドを JSON オブジェクトとして読み取ります。

final void readRemainingFieldsAsJsonObject(StringBuilder buffer)

現在の JSON オブジェクト内の残りのフィールドを JSON オブジェクトとして読み取ります。

final Object readUntyped()

型指定されていないオブジェクトを読み取ります。

abstract JsonReader reset()

JSON ストリームの先頭への新しい JsonReader リセットを作成します。

abstract void skipChildren()

現在のトークンが または START_OBJECTであるSTART_ARRAY場合は、JSON トークン サブストリームを再帰的にスキップします。

メソッドの継承元: java.lang.Object

コンストラクターの詳細

JsonReader

public JsonReader()

JsonReader のインスタンスを作成します。

メソッドの詳細

getNullable

public final T getNullable(ReadValueCallback nonNullGetter)

null 許容型を読み取る便利なメソッド。

currentToken()NULL null の場合は、値JsonReaderを取得するために関数にnonNullGetter渡されます。 実質的には、これは get*NullableValue メソッドの一般的な形式です。

Parameters:

nonNullGetter - NULL 以外の JSON 値を読み取る関数。

Returns:

が の場合、または によってnonNullGetter返される値の場合currentToken()NULL null。

Throws:

IOException

- 次の値を null 許容として読み取ることができない場合。

readArray

public final List readArray(ReadValueCallback elementReaderFunc)

JSON 配列を読み取ります。

currentToken()が null の場合、これは になりますnextToken()。 開始トークンがまだ null または NULL null の場合は、返されます。 トークンが 以外のSTART_ARRAYIllegalStateException場合は、 がスローされます。

JSON ストリームが要素の読み取り用に準備されると、これは要素トークンを取得し、 にelementReaderFuncJsonReaderして配列の要素の読み取りを処理します。 配列に要素がない場合は、空のリストが返されます。

JSON オブジェクトを読み取る場合は を使用 readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) するか、JSON マップを読み取る必要がある場合は を使用します readMap(ReadValueCallback<JsonReader,T> valueReaderFunc)

Parameters:

elementReaderFunc - 配列の各要素を読み取る関数。

Returns:

読み取り JSON 配列。または が JsonToken null または NULLの場合は null。

Throws:

IOException

- トークンが 、、または null でないJsonToken#START_ARRAYJsonToken#NULL場合。

readMap

public final Map readMap(ReadValueCallback valueReaderFunc)

JSON マップを読み取ります。

currentToken()が null の場合、これは になりますnextToken()。 開始トークンがまだ null または NULL null の場合は、返されます。 トークンが 以外のSTART_OBJECTIllegalStateException場合は、 がスローされます。

JSON ストリームがキーと値の読み取り用に準備されると、次のトークンが取得され、フィールド名がキーとして読み取られ、その後に次のトークンが取得され、 にvalueReaderFuncJsonReaderされてキーと値のペアの値が読み取られます。 オブジェクトに要素がない場合は、空のマップが返されます。

JSON オブジェクトを読み取る必要がある場合は を使用 readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) するか、JSON 配列を読み取る必要がある場合は を使用します readArray(ReadValueCallback<JsonReader,T> elementReaderFunc)

Parameters:

valueReaderFunc - キーと値のペアの各値を読み取る関数。

Returns:

読み取り JSON マップ。または が JsonToken null または NULLの場合は null。

Throws:

IOException

- トークンが 、、または null でないJsonToken#START_OBJECTJsonToken#NULL場合。

readObject

public final T readObject(ReadValueCallback objectReaderFunc)

JSON オブジェクトを読み取ります。

currentToken()が null の場合、これは になりますnextToken()。 開始トークンがまだ null または NULL null の場合は、返されます。 トークンが 以外のSTART_OBJECTIllegalStateException場合は、 がスローされます。

JSON ストリームがオブジェクト読み取り用に準備されると、次のトークンが取得され、 にobjectReaderFuncJsonReaderされてオブジェクトの読み取りが処理されます。

JSON 配列を読み取る場合は を使用 readArray(ReadValueCallback<JsonReader,T> elementReaderFunc) するか、JSON マップを読み取る必要がある場合は を使用します readMap(ReadValueCallback<JsonReader,T> valueReaderFunc)

Parameters:

objectReaderFunc - キーと値のペアの各値を読み取る関数。

Returns:

読み取り JSON オブジェクト。または が JsonToken null または NULLの場合は null。

Throws:

IOException

- トークンが 、、または null でないJsonToken#START_OBJECTJsonToken#NULL場合。

bufferObject

public abstract JsonReader bufferObject()

が指している現在の JSON オブジェクトを JsonReader 読み取って返します。 これにより、この JsonReaderの現在の場所が変更されます。

currentToken()が でないSTART_OBJECT場合、または FIELD_NAMEIllegalStateExceptionスローされます。

currentToken()が の場合、FIELD_NAME最初の JSON フィールドがフィールドである JSON オブジェクトがcurrentToken()作成されます。つまり、これは JSON オブジェクトの中央から呼び出して、フィールドのサブセットのみを含む新しい JSON オブジェクトを作成できます (メソッドが呼び出されたときの残りの JSON オブジェクト)。

返された JsonReader は、基になる JSON ストリームを再生できます reset()

Returns:

が指していたバッファーされた JSON オブジェクト JsonReader

Throws:

IOException

- #currentToken()が ではないJsonToken#START_OBJECTJsonToken#FIELD_NAMEか、その後に が続く場合JsonToken#START_OBJECT

close

public abstract void close()

JSON ストリームを閉じます。

Throws:

IOException

- 基になるコンテンツ ストアが閉じに失敗した場合。

currentToken

public abstract JsonToken currentToken()

リーダーが JsonToken 現在指している を取得します。

リーダーがトークンを指していない場合は null を返します。 これは、リーダーが JSON 値の読み取りを開始していない場合、または JSON 値の読み取りが完了した場合に発生します。

Returns:

JsonTokenリーダーが現在指している 。リーダーがトークンを指していない場合は null。

getBinary

public abstract byte[] getBinary()

リーダーが現在トークンを指している場合は、バイナリ値を STRING 取得します。

これにより、 と同等の Base64#getDecoder()Base64.Decoder#decode(String)が返されます。

リーダーが null を NULL 指している場合は、 が返されます。 リーダーが他のトークン型を指している場合は、 IllegalStateException がスローされます。

Returns:

現在のトークンSTRINGNULLが であるか であるかに基づくバイナリ値。

Throws:

IOException

- リーダーが または JsonToken#NULLJsonToken#STRING指していない場合。

getBoolean

public abstract boolean getBoolean()

リーダーが現在トークンを指している場合は、ブール値を BOOLEAN 取得します。

リーダーが他のトークン型を指している場合は、 IllegalStateException がスローされます。

を読み取る必要がある場合 Boolean は、 を使用します getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Returns:

BOOLEAN基づくブール値。

Throws:

IOException

- リーダーが を JsonToken#BOOLEAN指していない場合。

getDouble

public abstract double getDouble()

リーダーが現在 または STRINGを指している場合は、double 値をNUMBER取得します。

STRING は、基になる文字列値を double に変換できない場合に をスロー NumberFormatException します。

その他 JsonToken のすべての型では、 が IllegalStateExceptionスローされます。

を読み取る必要がある場合 Double は、 を使用します getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Returns:

現在のトークンに基づく double 値。

Throws:

IOException

- 現在のトークンが であり JsonToken#STRING 、double に変換できない場合。

getFieldName

public abstract String getFieldName()

リーダーが現在 を指している場合は、フィールド名を FIELD_NAME取得します。

その他 JsonToken のすべての型では、 が IllegalStateExceptionスローされます。

Returns:

現在のトークンに基づくフィールド名。

Throws:

IOException

- 現在のトークンが でない場合。JsonToken#FIELD_NAME

getFloat

public abstract float getFloat()

リーダーが現在 または STRINGを指している場合は、浮動小数点値をNUMBER取得します。

STRING は、基になる文字列値を float に変換できない場合に をスロー NumberFormatException します。

その他 JsonToken のすべての型では、 が IllegalStateExceptionスローされます。

を読み取る必要がある場合 Float は、 を使用します getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Returns:

現在のトークンに基づく float 値。

Throws:

IOException

- 現在のトークンが であり JsonToken#STRING 、float に変換できない場合。

getInt

public abstract int getInt()

リーダーが現在 または STRINGを指している場合は、int 値をNUMBER取得します。

STRING は、基になる文字列値を int に変換できない場合に をスロー NumberFormatException します。

その他 JsonToken のすべての型では、 が IllegalStateExceptionスローされます。

を読み取る必要がある場合 Integer は、 を使用します getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Returns:

現在のトークンに基づく int 値。

Throws:

IOException

- 現在のトークンが であり JsonToken#STRING 、int に変換できない場合。

getLong

public abstract long getLong()

リーダーが現在 または STRINGを指している場合は、長い値をNUMBER取得します。

STRING は、基になる文字列値を long に変換できない場合に をスロー NumberFormatException します。

その他 JsonToken のすべての型では、 が IllegalStateExceptionスローされます。

を読み取る必要がある場合 Long は、 を使用します getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Returns:

現在のトークンに基づく長い値。

Throws:

IOException

- 現在のトークンが であり JsonToken#STRING 、long に変換できない場合。

getRawText

public String getRawText()

の生テキスト値を取得します currentToken()

JsonToken 型の処理方法を次に示します。

現在のトークンが null の場合は、 IllegalStateException がスローされます。

Returns:

の生テキスト値 currentToken()

Throws:

IOException

- 現在のトークンが null の場合。

getString

public abstract String getString()

リーダーが現在 、NULLNUMBERまたは STRINGを指している場合は、BOOLEANString 値を取得します。

現在のトークンが の BOOLEAN場合、または NUMBER 値の String 表現が返されます。 現在のトークンが null の NULL 場合は、 が返されます。

その他 JsonToken のすべての型では、 が IllegalStateExceptionスローされます。

Returns:

現在のトークンに基づく String 値。

Throws:

IOException

- 現在のトークンが、、JsonToken#NULLJsonToken#NUMBERまたは JsonToken#STRINGではないJsonToken#BOOLEAN場合。

getText

public final String getText()

のテキスト値を取得します currentToken()

JsonToken 型の処理方法を次に示します。

現在のトークンが null の場合は、 IllegalStateException がスローされます。

Returns:

のテキスト値 currentToken()

Throws:

IOException

- 現在のトークンが null の場合。

isEndArrayOrObject

public final boolean isEndArrayOrObject()

currentToken()END_ARRAY であるか、 であるか END_OBJECT

Returns:

currentToken()END_ARRAY であるか、 であるか END_OBJECT

isResetSupported

public abstract boolean isResetSupported()

が を JsonReader サポートしているかどうかを示します reset()

Returns:

reset()がサポートされているかどうか。

isStartArrayOrObject

public final boolean isStartArrayOrObject()

currentToken()START_ARRAY であるか、 であるか START_OBJECT

Returns:

currentToken()START_ARRAY であるか、 であるか START_OBJECT

nextToken

public abstract JsonToken nextToken()

を反復処理し、JSON でエンコードされた値の次 JsonToken の を返します。

次のトークンへの反復処理で JSON エンコード値の読み取りが完了した場合は null を返します。

Returns:

JSON でエンコードされた値の次 JsonToken の値。読み取りが完了した場合は null。

Throws:

IOException

- 次のトークンを特定できない場合。

readChildren

public final String readChildren()

現在のトークンが または START_OBJECTであるSTART_ARRAY場合は、JSON トークン サブストリームを再帰的に読み取ります。

currentToken()が でないSTART_OBJECT場合、またはSTART_ARRAY何も読み取られません。

Returns:

JSON トークン サブストリームの生テキスト値。

Throws:

IOException

- 子を読み取ることができない場合。

readChildren

public final void readChildren(StringBuilder buffer)

現在のトークンが または START_ARRAYSTART_OBJECT である場合は、渡された StringBuilderに JSON トークン サブストリームを再帰的に読み取ります。

currentToken()が でないSTART_OBJECT場合、またはSTART_ARRAY何も読み取られません。

Parameters:

buffer - StringBuilder読み取りサブストリームが書き込まれる場所。

Throws:

IOException

- が null の場合 buffer

readRemainingFieldsAsJsonObject

public final String readRemainingFieldsAsJsonObject()

現在の JSON オブジェクト内の残りのフィールドを JSON オブジェクトとして読み取ります。

currentToken()が の場合、この関数は START_OBJECTreadChildren()同じです。 currentToken()が の場合、FIELD_NAME最初のフィールドが現在のフィールドである JSON オブジェクトが作成され、JSON オブジェクト内の残りのフィールドが読み取られます。

currentToken()が でないSTART_OBJECT場合、またはFIELD_NAME何も読み取られません。

Returns:

残りの JSON フィールドの生テキスト値。

Throws:

IOException

- 残りの JSON フィールドを読み取ることができない場合。

readRemainingFieldsAsJsonObject

public final void readRemainingFieldsAsJsonObject(StringBuilder buffer)

現在の JSON オブジェクト内の残りのフィールドを JSON オブジェクトとして読み取ります。

currentToken()が の場合、この関数は START_OBJECTreadChildren(StringBuilder buffer)同じです。 currentToken()が の場合、FIELD_NAME最初のフィールドが現在のフィールドである JSON オブジェクトが作成され、JSON オブジェクト内の残りのフィールドが読み取られます。

currentToken()が でないSTART_OBJECT場合、またはFIELD_NAME何も読み取られません。

Parameters:

buffer - StringBuilder残りの JSON フィールドが書き込まれる場所。

Throws:

IOException

- が null の場合 buffer

readUntyped

public final Object readUntyped()

型指定されていないオブジェクトを読み取ります。

currentToken()が null の場合、これは になりますnextToken()

開始トークンが 、END_OBJECT、または FIELD_NAME の場合はEND_ARRAY、不明な型をIllegalStateException読み取るための無効な開始点であるため、 がスローされます。 型指定されていないオブジェクトが深く入れ子になっている場合は、 もスローされ IllegalStateException 、スタック オーバーフロー例外が発生しないようにします。

返されるオブジェクトは、次のいずれかになります。

  • 開始トークンが null の場合は null または NULL
  • 開始トークンが の場合は true または false BOOLEAN
  • int、long、float、または double の 1 つが開始トークンです NUMBER。数値が整数の場合は、最小の格納値が使用されます
  • 開始点が である場合は、型指定されていない要素の配列 START_ARRAY
  • 開始点がである場合の文字列型指定されていない値のマップ START_OBJECT

Returns:

上記のアウトラインの戻り値の型に基づく型指定されていない値。

Throws:

IOException

- オブジェクトの開始点が 、JsonToken#END_OBJECT、または の場合、JsonToken#END_ARRAYまたはJsonToken#FIELD_NAME型指定されていないオブジェクトが深く入れ子になっている場合。

reset

public abstract JsonReader reset()

JSON ストリームの先頭への新しい JsonReader リセットを作成します。

をリセットできるかどうかを判断するには、 をJsonReader使用isResetSupported()します。 リセットが呼び出され、サポートされていない場合は、 IllegalStateException がスローされます。

Returns:

JSON ストリームの先頭への新しい JsonReader リセット。

Throws:

IOException

- リセットが現在の JsonReader でサポートされていない場合。

skipChildren

public abstract void skipChildren()

現在のトークンが または START_OBJECTであるSTART_ARRAY場合は、JSON トークン サブストリームを再帰的にスキップします。

現在のトークンが配列またはオブジェクトの先頭でない場合、このメソッドは no-op です。

Throws:

IOException

- 子をスキップできない場合。

適用対象