Compartir a través de


JsonReader Clase

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

Implementaciones

public abstract class JsonReader
implements Closeable

Lee un valor JSON como un flujo de tokens.

Las instancias de JsonReader se crean mediante una instancia de o mediante los métodos de JsonProvider utilidad en JsonProviders.

Resumen del constructor

Constructor Description
JsonReader()

Crea una instancia de JsonReader.

Resumen del método

Modificador y tipo Método y descripción
final T getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Método de conveniencia para leer un tipo que acepta valores NULL.

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

Lee una matriz JSON.

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

Lee un mapa JSON.

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

Lee un objeto JSON.

abstract JsonReader bufferObject()

Lee y devuelve el objeto JSON actual al que JsonReader apunta.

abstract void close()

Cierra la secuencia JSON.

abstract JsonToken currentToken()

Obtiene el JsonToken objeto que apunta actualmente el lector.

abstract byte[] getBinary()

Obtiene el valor binario si el lector apunta actualmente a un STRING token.

abstract boolean getBoolean()

Obtiene el valor booleano si el lector apunta actualmente a un BOOLEAN token.

abstract double getDouble()

Obtiene el valor doble si el lector apunta actualmente a o NUMBERSTRING.

abstract String getFieldName()

Obtiene el nombre del campo si el lector apunta actualmente a .FIELD_NAME

abstract float getFloat()

Obtiene el valor float si el lector apunta actualmente a o NUMBERSTRING.

abstract int getInt()

Obtiene el valor int si el lector apunta actualmente a o NUMBERSTRING.

abstract long getLong()

Obtiene el valor long si el lector apunta actualmente a o NUMBERSTRING.

String getRawText()

Obtiene el valor de texto sin formato para .currentToken()

abstract String getString()

Obtiene el valor string si el lector apunta actualmente a , BOOLEANNULL, NUMBERo STRING.

final String getText()

Obtiene el valor de texto de .currentToken()

final boolean isEndArrayOrObject()

Si es currentToken()END_ARRAY o END_OBJECT.

abstract boolean isResetSupported()

Indica si JsonReader admite reset().

final boolean isStartArrayOrObject()

Si es currentToken()START_ARRAY o START_OBJECT.

abstract JsonToken nextToken()

Recorre en iteración y devuelve el siguiente JsonToken valor codificado en JSON.

final String readChildren()

Lee de forma recursiva el subproceso del token JSON si el token actual es START_ARRAY o START_OBJECT.

final void readChildren(StringBuilder buffer)

Lee de forma recursiva el subproceso del token JSON si el token actual es START_ARRAY o START_OBJECT en el objeto pasado StringBuilder.

final String readRemainingFieldsAsJsonObject()

Lee los campos restantes del objeto JSON actual como un objeto JSON.

final void readRemainingFieldsAsJsonObject(StringBuilder buffer)

Lee los campos restantes del objeto JSON actual como un objeto JSON.

final Object readUntyped()

Lee un objeto sin tipo.

abstract JsonReader reset()

Crea un nuevo JsonReader restablecimiento al principio de la secuencia JSON.

abstract void skipChildren()

Omite de forma recursiva el subproceso del token JSON si el token actual es START_ARRAY o START_OBJECT.

Métodos heredados de java.lang.Object

Detalles del constructor

JsonReader

public JsonReader()

Crea una instancia de JsonReader.

Detalles del método

getNullable

public final T getNullable(ReadValueCallback nonNullGetter)

Método de conveniencia para leer un tipo que acepta valores NULL.

Si se devuelve nullcurrentToken(), de lo contrario, se JsonReader pasará a la nonNullGetter función para obtener el NULL valor. De hecho, esta es la forma genérica de los métodos get*NullableValue.

Parameters:

nonNullGetter - Función que lee el valor JSON que no es NULL.

Returns:

null si currentToken() es NULL o el valor devuelto por nonNullGetter.

Throws:

IOException

- Si el valor siguiente no se puede leer como que acepta valores NULL.

readArray

public final List readArray(ReadValueCallback elementReaderFunc)

Lee una matriz JSON.

Si el valor currentToken() es NULL, será nextToken(). Si el token inicial sigue siendo null o NULL null se devolverá. Si el token es algo distinto START_ARRAY de un IllegalStateException se iniciará.

Una vez que la secuencia JSON esté preparada para la lectura de elementos, obtendrá el token de elemento y lo pasará JsonReader a elementReaderFunc para controlar la lectura del elemento de la matriz. Si la matriz no tiene elementos, se devolverá una lista vacía.

Si se debe leer un objeto JSON o readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) si se debe leer un mapa JSON, use readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).

Parameters:

elementReaderFunc - Función que lee cada elemento de la matriz.

Returns:

Matriz JSON de lectura o null si es JsonToken null o NULL.

Throws:

IOException

- Si el token no JsonToken#START_ARRAYes , JsonToken#NULLo null.

readMap

public final Map readMap(ReadValueCallback valueReaderFunc)

Lee un mapa JSON.

Si el valor currentToken() es NULL, será nextToken(). Si el token inicial sigue siendo null o NULL null se devolverá. Si el token es algo distinto START_OBJECT de un IllegalStateException se iniciará.

Una vez que la secuencia JSON esté preparada para la lectura de clave-valor, obtendrá el siguiente token y leerá el nombre del campo como clave y, a continuación, obtendrá el siguiente token después de eso y lo pasará JsonReader a valueReaderFunc para controlar la lectura del valor del par clave-valor. Si el objeto no tiene elementos, se devolverá un mapa vacío.

Si se debe leer un objeto JSON o readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) si se debe leer una matriz JSON, use readArray(ReadValueCallback<JsonReader,T> elementReaderFunc).

Parameters:

valueReaderFunc - Función que lee cada valor del par clave-valor.

Returns:

Asignación JSON de lectura o null si es JsonToken null o NULL.

Throws:

IOException

- Si el token no JsonToken#START_OBJECTes , JsonToken#NULLo null.

readObject

public final T readObject(ReadValueCallback objectReaderFunc)

Lee un objeto JSON.

Si el valor currentToken() es NULL, será nextToken(). Si el token inicial sigue siendo null o NULL null se devolverá. Si el token es algo distinto START_OBJECT de un IllegalStateException se iniciará.

Una vez que la secuencia JSON está preparada para la lectura de objetos, obtendrá el siguiente token y lo pasará JsonReader a objectReaderFunc para controlar la lectura del objeto.

Si se debe leer una matriz JSON o readArray(ReadValueCallback<JsonReader,T> elementReaderFunc) si se debe leer un mapa JSON, use readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).

Parameters:

objectReaderFunc - Función que lee cada valor del par clave-valor.

Returns:

Objeto JSON de lectura o null si es JsonToken null o NULL.

Throws:

IOException

- Si el token no JsonToken#START_OBJECTes , JsonToken#NULLo null.

bufferObject

public abstract JsonReader bufferObject()

Lee y devuelve el objeto JSON actual al que JsonReader apunta. Esto mutará la ubicación actual de este JsonReader.

Si no currentToken()START_OBJECT es o FIELD_NAME se producirá una IllegalStateException excepción .

currentToken() Si es FIELD_NAME así, se creará un objeto JSON donde el primer campo JSON es el currentToken() campo, lo que significa que se puede llamar desde el medio de un objeto JSON para crear un nuevo objeto JSON con solo un subconjunto de campos (los que quedan desde cuando se llama al método).

El devuelto JsonReader puede reproducir reset() la secuencia JSON subyacente.

Returns:

Objeto JSON almacenado en búfer al que JsonReader apuntaba.

Throws:

IOException

- #currentToken() Si no JsonToken#START_OBJECT está o JsonToken#FIELD_NAME seguido deJsonToken#START_OBJECT

close

public abstract void close()

Cierra la secuencia JSON.

Throws:

IOException

- Si el almacén de contenido subyacente no se cierra.

currentToken

public abstract JsonToken currentToken()

Obtiene el JsonToken objeto que apunta actualmente el lector.

Devuelve null si el lector no apunta a un token. Esto sucede si el lector no ha empezado a leer el valor JSON o si se ha completado la lectura del valor JSON.

Returns:

JsonToken que el lector apunta actualmente o null si el lector no apunta a un token.

getBinary

public abstract byte[] getBinary()

Obtiene el valor binario si el lector apunta actualmente a un STRING token.

Esto devuelve el equivalente de Base64#getDecoder()Base64.Decoder#decode(String).

Si el lector apunta a un NULL valor NULL se devolverá. Si el lector apunta a cualquier otro tipo de token, se producirá una IllegalStateException excepción .

Returns:

Valor binario basado en si el token actual es STRING o NULL.

Throws:

IOException

- Si el lector no apunta a o JsonToken#NULL.JsonToken#STRING

getBoolean

public abstract boolean getBoolean()

Obtiene el valor booleano si el lector apunta actualmente a un BOOLEAN token.

Si el lector apunta a cualquier otro tipo de token, se producirá una IllegalStateException excepción .

Si Boolean se debe leer, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valor booleano basado en .BOOLEAN

Throws:

IOException

- Si el lector no apunta a JsonToken#BOOLEAN.

getDouble

public abstract double getDouble()

Obtiene el valor doble si el lector apunta actualmente a o NUMBERSTRING.

STRING producirá un NumberFormatException si el valor de cadena subyacente no se puede convertir en un valor double.

Todos los demás JsonToken tipos producirán una IllegalStateExceptionexcepción .

Si Double se debe leer, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valor doble basado en el token actual.

Throws:

IOException

- Si el token actual es y JsonToken#STRING no se puede convertir en un valor double.

getFieldName

public abstract String getFieldName()

Obtiene el nombre del campo si el lector apunta actualmente a .FIELD_NAME

Todos los demás JsonToken tipos producirán una IllegalStateExceptionexcepción .

Returns:

Nombre del campo basado en el token actual.

Throws:

IOException

- Si el token actual no es .JsonToken#FIELD_NAME

getFloat

public abstract float getFloat()

Obtiene el valor float si el lector apunta actualmente a o NUMBERSTRING.

STRING producirá un NumberFormatException si el valor de cadena subyacente no se puede convertir en un valor float.

Todos los demás JsonToken tipos producirán una IllegalStateExceptionexcepción .

Si Float se debe leer, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valor float basado en el token actual.

Throws:

IOException

- Si el token actual es y JsonToken#STRING no se puede convertir en float.

getInt

public abstract int getInt()

Obtiene el valor int si el lector apunta actualmente a o NUMBERSTRING.

STRING producirá un NumberFormatException si el valor de cadena subyacente no se puede convertir en un valor int.

Todos los demás JsonToken tipos producirán una IllegalStateExceptionexcepción .

Si Integer se debe leer, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valor int basado en el token actual.

Throws:

IOException

- Si el token actual es y JsonToken#STRING no se puede convertir en un valor int.

getLong

public abstract long getLong()

Obtiene el valor long si el lector apunta actualmente a o NUMBERSTRING.

STRING producirá un NumberFormatException si el valor de cadena subyacente no se puede convertir en un valor long.

Todos los demás JsonToken tipos producirán una IllegalStateExceptionexcepción .

Si Long se debe leer, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valor long basado en el token actual.

Throws:

IOException

- Si el token actual es y JsonToken#STRING no se puede convertir en un valor long.

getRawText

public String getRawText()

Obtiene el valor de texto sin formato para .currentToken()

A continuación se muestra cómo se controla cada JsonToken tipo:

Si el token actual es null, se producirá una IllegalStateException excepción .

Returns:

Valor de texto sin formato para currentToken().

Throws:

IOException

- Si el token actual es null.

getString

public abstract String getString()

Obtiene el valor string si el lector apunta actualmente a , BOOLEANNULL, NUMBERo STRING.

Si el token actual es , BOOLEANo NUMBER se devolverá la representación string del valor. Si el token actual es NULL null, se devolverá.

Todos los demás JsonToken tipos producirán una IllegalStateExceptionexcepción .

Returns:

Valor de tipo String basado en el token actual.

Throws:

IOException

- Si el token actual no es , JsonToken#BOOLEANJsonToken#NULL, JsonToken#NUMBERo JsonToken#STRING.

getText

public final String getText()

Obtiene el valor de texto de .currentToken()

A continuación se muestra cómo se controla cada JsonToken tipo:

Si el token actual es null, se producirá una IllegalStateException excepción .

Returns:

Valor de texto de currentToken().

Throws:

IOException

- Si el token actual es null.

isEndArrayOrObject

public final boolean isEndArrayOrObject()

Si es currentToken()END_ARRAY o END_OBJECT.

Returns:

isResetSupported

public abstract boolean isResetSupported()

Indica si JsonReader admite reset().

Returns:

Indica si reset() se admite.

isStartArrayOrObject

public final boolean isStartArrayOrObject()

Si es currentToken()START_ARRAY o START_OBJECT.

Returns:

nextToken

public abstract JsonToken nextToken()

Recorre en iteración y devuelve el siguiente JsonToken valor codificado en JSON.

Devuelve null si la iteración del token siguiente completa la lectura del valor codificado json.

Returns:

A continuación JsonToken , en el valor codificado JSON, o null si se completa la lectura.

Throws:

IOException

- Si no se puede determinar el siguiente token.

readChildren

public final String readChildren()

Lee de forma recursiva el subproceso del token JSON si el token actual es START_ARRAY o START_OBJECT.

currentToken() Si no START_OBJECT es o START_ARRAY nada se leerá.

Returns:

Valor textual sin formato del subproceso del token JSON.

Throws:

IOException

- Si no se pueden leer los elementos secundarios.

readChildren

public final void readChildren(StringBuilder buffer)

Lee de forma recursiva el subproceso del token JSON si el token actual es START_ARRAY o START_OBJECT en el objeto pasado StringBuilder.

currentToken() Si no START_OBJECT es o START_ARRAY nada se leerá.

Parameters:

buffer - donde StringBuilder se escribirá el subproceso de lectura.

Throws:

IOException

- Si buffer es null.

readRemainingFieldsAsJsonObject

public final String readRemainingFieldsAsJsonObject()

Lee los campos restantes del objeto JSON actual como un objeto JSON.

currentToken() Si es START_OBJECT , funciona igual que readChildren(). currentToken() Si es FIELD_NAME así, se crea un objeto JSON donde el primer campo es el campo actual y lee los campos restantes en el objeto JSON.

currentToken() Si no START_OBJECT es o FIELD_NAME nada se leerá.

Returns:

Valor de texto sin formato de los campos JSON restantes.

Throws:

IOException

- Si no se pueden leer los campos JSON restantes.

readRemainingFieldsAsJsonObject

public final void readRemainingFieldsAsJsonObject(StringBuilder buffer)

Lee los campos restantes del objeto JSON actual como un objeto JSON.

currentToken() Si es START_OBJECT , funciona igual que readChildren(StringBuilder buffer). currentToken() Si es FIELD_NAME así, se crea un objeto JSON donde el primer campo es el campo actual y lee los campos restantes en el objeto JSON.

currentToken() Si no START_OBJECT es o FIELD_NAME nada se leerá.

Parameters:

buffer - donde StringBuilder se escribirán los campos JSON restantes.

Throws:

IOException

- Si buffer es null.

readUntyped

public final Object readUntyped()

Lee un objeto sin tipo.

Si el valor currentToken() es NULL, será nextToken().

Si el token de inicio es END_ARRAY, END_OBJECTo se iniciará , IllegalStateException ya FIELD_NAME que estos son puntos iniciales no válidos para leer un tipo desconocido. Si el objeto sin tipo está profundamente anidado, también se iniciará para IllegalStateException evitar una excepción de desbordamiento de pila.

El objeto devuelto será uno de los siguientes:

  • null si el token inicial es NULL o NULL
  • true o false si el token de inicio es BOOLEAN
  • Uno de int, long, float o double es el token inicial es NUMBER, el valor contenedor más pequeño se usará si el número es un entero.
  • Matriz de elementos sin tipo si el punto inicial es START_ARRAY
  • Mapa del valor de tipo String si el punto inicial es START_OBJECT

Returns:

Valor sin tipo basado en los tipos devueltos descritos anteriormente.

Throws:

IOException

- Si el punto inicial del objeto es JsonToken#END_ARRAY, JsonToken#END_OBJECTo JsonToken#FIELD_NAME si el objeto sin tipo está profundamente anidado.

reset

public abstract JsonReader reset()

Crea un nuevo JsonReader restablecimiento al principio de la secuencia JSON.

Use isResetSupported() para determinar si JsonReader se puede restablecer. Si se llama al restablecimiento y no se admite, se producirá una IllegalStateException excepción .

Returns:

Nuevo JsonReader restablecimiento al principio de la secuencia JSON.

Throws:

IOException

- Si el restablecimiento no es compatible con jsonReader actual.

skipChildren

public abstract void skipChildren()

Omite de forma recursiva el subproceso del token JSON si el token actual es START_ARRAY o START_OBJECT.

Si el token actual no es el principio de una matriz o un objeto, este método es una operación sin operación.

Throws:

IOException

- Si no se pueden omitir los elementos secundarios.

Se aplica a