JsonReader Classe
- java.
lang. Object - com.
azure. json. JsonReader
- com.
Implementações
public abstract class JsonReader
implements Closeable
Lê um valor JSON como um fluxo de tokens.
As instâncias de JsonReader são criadas usando uma instância de JsonProvider ou usando os métodos de utilitário em JsonProviders.
Resumo do Construtor
Construtor | Description |
---|---|
JsonReader() |
Cria uma instância de JsonReader. |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
final T |
getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)
Método de conveniência para ler um tipo anulável. |
final List<T> |
readArray(ReadValueCallback<JsonReader,T> elementReaderFunc)
Lê uma matriz JSON. |
final Map<String,T> |
readMap(ReadValueCallback<JsonReader,T> valueReaderFunc)
Lê um mapa JSON. |
final T |
readObject(ReadValueCallback<JsonReader,T> objectReaderFunc)
Lê um objeto JSON. |
abstract
Json |
bufferObject()
Lê e retorna o objeto JSON atual para o qual o JsonReader está apontando. |
abstract void |
close()
Fecha o fluxo JSON. |
abstract
Json |
currentToken()
Obtém o JsonToken que o leitor aponta atualmente. |
abstract byte[] |
getBinary()
Obtém o valor binário se o leitor estiver apontando para um STRING token no momento. |
abstract boolean |
getBoolean()
Obtém o valor booliano se o leitor estiver apontando para um BOOLEAN token no momento. |
abstract double |
getDouble()
Obtém o valor duplo se o leitor estiver apontando para um NUMBER ou STRING. |
abstract String |
getFieldName()
Obtém o nome do campo se o leitor estiver apontando para um FIELD_NAME. |
abstract float |
getFloat()
Obtém o valor float se o leitor estiver apontando para um NUMBER ou STRING. |
abstract int |
getInt()
Obtém o valor int se o leitor estiver apontando para um NUMBER ou STRING. |
abstract long |
getLong()
Obtém o valor longo se o leitor estiver apontando para um NUMBER ou STRING. |
String |
getRawText()
Obtém o valor de texto bruto para o currentToken(). |
abstract String |
getString()
Obtém o valor String se o leitor estiver apontando para um BOOLEAN, NULL, NUMBERou STRING. |
final String |
getText()
Obtém o valor de texto para o currentToken(). |
final boolean |
isEndArrayOrObject()
Se o currentToken() é END_ARRAY ou END_OBJECT. |
abstract boolean |
isResetSupported()
Indica se o dá suporte reset()a JsonReader . |
final boolean |
isStartArrayOrObject()
Seja o currentToken() ou START_ARRAYSTART_OBJECT. |
abstract
Json |
nextToken()
Itera para e retorna o próximo JsonToken no valor codificado em JSON. |
final String |
readChildren()
Lerá recursivamente o sub-fluxo do token JSON se o token atual for START_ARRAY ou START_OBJECT. |
final void |
readChildren(StringBuilder buffer)
Lerá recursivamente o sub-fluxo do token JSON se o token atual estiver START_ARRAY ou START_OBJECT no passado StringBuilder. |
final String |
readRemainingFieldsAsJsonObject()
Lê os campos restantes no objeto JSON atual como um objeto JSON. |
final void |
readRemainingFieldsAsJsonObject(StringBuilder buffer)
Lê os campos restantes no objeto JSON atual como um objeto JSON. |
final Object |
readUntyped()
Lê um objeto não tipado. |
abstract
Json |
reset()
Cria uma nova JsonReader redefinição para o início do fluxo JSON. |
abstract void |
skipChildren()
Ignora recursivamente o sub-fluxo do token JSON se o token atual for START_ARRAY ou START_OBJECT. |
Métodos herdados de java.lang.Object
Detalhes do construtor
JsonReader
public JsonReader()
Cria uma instância de JsonReader.
Detalhes do método
getNullable
public final T
Método de conveniência para ler um tipo anulável.
Se o currentToken() for NULL nulo for retornado, caso contrário, isso JsonReader será passado para a nonNullGetter
função para obter o valor. Efetivamente, essa é a forma genérica dos métodos get*NullableValue.
Parameters:
Returns:
Throws:
readArray
public final List
Lê uma matriz JSON.
Se o currentToken() for nulo, isso será nextToken(). Se o token inicial ainda for nulo ou NULL nulo será retornado. Se o token for algo diferente de START_ARRAY um IllegalStateException será lançado.
Depois que o fluxo JSON estiver preparado para a leitura do elemento, isso obterá o token de elemento e o passará JsonReader para o elementReaderFunc
para manipular a leitura do elemento da matriz. Se a matriz não tiver elementos, uma lista vazia será retornada.
Se um objeto JSON deve ser usado readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) para leitura ou se um mapa JSON deve ser lido, use readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).
Parameters:
Returns:
Throws:
readMap
public final Map
Lê um mapa JSON.
Se o currentToken() for nulo, isso será nextToken(). Se o token inicial ainda for nulo ou NULL nulo será retornado. Se o token for algo diferente de START_OBJECT um IllegalStateException será lançado.
Depois que o fluxo JSON estiver preparado para leitura de chave-valor, isso obterá o próximo token e lerá o nome do campo como a chave e, em seguida, obterá o próximo token depois disso e o passará JsonReader para o valueReaderFunc
para manipular a leitura do valor do par chave-valor. Se o objeto não tiver elementos, um mapa vazio será retornado.
Se um objeto JSON deve ser usado readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) de leitura ou se uma matriz JSON deve ser lida, use readArray(ReadValueCallback<JsonReader,T> elementReaderFunc).
Parameters:
Returns:
Throws:
readObject
public final T
Lê um objeto JSON.
Se o currentToken() for nulo, isso será nextToken(). Se o token inicial ainda for nulo ou NULL nulo será retornado. Se o token for algo diferente de START_OBJECT um IllegalStateException será lançado.
Depois que o fluxo JSON estiver preparado para a leitura do objeto, isso obterá o próximo token e o passará JsonReader para o objectReaderFunc
para manipular a leitura do objeto.
Se uma matriz JSON deve ser usada readArray(ReadValueCallback<JsonReader,T> elementReaderFunc) para leitura ou se um mapa JSON deve ser lido, use readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).
Parameters:
Returns:
Throws:
bufferObject
public abstract JsonReader bufferObject()
Lê e retorna o objeto JSON atual para o qual o JsonReader está apontando. Isso modificará o local atual deste JsonReader.
Se o currentToken() não START_OBJECT for ou FIELD_NAME um IllegalStateException será lançado.
Se o currentToken() for FIELD_NAME , isso criará um objeto JSON em que o primeiro campo JSON é o currentToken() campo, o que significa que isso pode ser chamado do meio de um objeto JSON para criar um novo objeto JSON com apenas um subconjunto de campos (aqueles restantes de quando o método é chamado).
O retornado JsonReader pode ser reset() capaz de reproduzir o fluxo JSON subjacente.
Returns:
Throws:
close
public abstract void close()
Fecha o fluxo JSON.
Throws:
currentToken
public abstract JsonToken currentToken()
Obtém o JsonToken que o leitor aponta atualmente.
Retornará nulo se o leitor não estiver apontando para um token. Isso acontece se o leitor não começou a ler o valor JSON ou se a leitura do valor JSON foi concluída.
Returns:
getBinary
public abstract byte[] getBinary()
Obtém o valor binário se o leitor estiver apontando para um STRING token no momento.
Isso retorna o equivalente a Base64#getDecoder()Base64.Decoder#decode(String).
Se o leitor estiver apontando para um NULL nulo, será retornado. Se o leitor estiver apontando para qualquer outro tipo de token, um IllegalStateException será gerado.
Returns:
Throws:
getBoolean
public abstract boolean getBoolean()
Obtém o valor booliano se o leitor estiver apontando para um BOOLEAN token no momento.
Se o leitor estiver apontando para qualquer outro tipo de token, um IllegalStateException será gerado.
Se Boolean for necessário ler, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getDouble
public abstract double getDouble()
Obtém o valor duplo se o leitor estiver apontando para um NUMBER ou STRING.
STRING gerará um NumberFormatException se o valor da cadeia de caracteres subjacente não puder ser convertido em um duplo.
Todos os outros JsonToken tipos gerarão um IllegalStateException.
Se Double for necessário ler, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getFieldName
public abstract String getFieldName()
Obtém o nome do campo se o leitor estiver apontando para um FIELD_NAME.
Todos os outros JsonToken tipos gerarão um IllegalStateException.
Returns:
Throws:
getFloat
public abstract float getFloat()
Obtém o valor float se o leitor estiver apontando para um NUMBER ou STRING.
STRING gerará um NumberFormatException se o valor da cadeia de caracteres subjacente não puder ser convertido em um float.
Todos os outros JsonToken tipos gerarão um IllegalStateException.
Se Float for necessário ler, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getInt
public abstract int getInt()
Obtém o valor int se o leitor estiver apontando para um NUMBER ou STRING.
STRING gerará um NumberFormatException se o valor da cadeia de caracteres subjacente não puder ser convertido em um int.
Todos os outros JsonToken tipos gerarão um IllegalStateException.
Se Integer for necessário ler, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getLong
public abstract long getLong()
Obtém o valor longo se o leitor estiver apontando para um NUMBER ou STRING.
STRING gerará um NumberFormatException se o valor da cadeia de caracteres subjacente não puder ser convertido em um long.
Todos os outros JsonToken tipos gerarão um IllegalStateException.
Se Long for necessário ler, use getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).
Returns:
Throws:
getRawText
public String getRawText()
Obtém o valor de texto bruto para o currentToken().
Veja a seguir como cada JsonToken tipo é tratado:
- START_OBJECT -> {
- END_OBJECT -> }
- START_ARRAY -> [
- END_ARRAY -> ]
- FIELD_NAME –>getFieldName() retenção de caracteres codificados e entre aspas JSON
- BOOLEAN -> String.valueOf getBoolean()
- NULL -> "nulo"
- STRING –>getString() retenção de caracteres codificados e entre aspas JSON
- NUMBER -> String.valueOf getString()
Se o token atual for nulo, um IllegalStateException será lançado.
Returns:
Throws:
getString
public abstract String getString()
Obtém o valor String se o leitor estiver apontando para um BOOLEAN, NULL, NUMBERou STRING.
Se o token atual for um BOOLEANou NUMBER a representação String do valor será retornada. Se o token atual for NULL nulo, será retornado.
Todos os outros JsonToken tipos gerarão um IllegalStateException.
Returns:
Throws:
getText
public final String getText()
Obtém o valor de texto para o currentToken().
Veja a seguir como cada JsonToken tipo é tratado:
- START_OBJECT -> {
- END_OBJECT -> }
- START_ARRAY -> [
- END_ARRAY -> ]
- FIELD_NAME ->getFieldName()
- BOOLEAN -> String.valueOf getBoolean()
- NULL -> "nulo"
- STRING ->getString()
- NUMBER -> String.valueOf getString()
Se o token atual for nulo, um IllegalStateException será lançado.
Returns:
Throws:
isEndArrayOrObject
isResetSupported
public abstract boolean isResetSupported()
Indica se o dá suporte reset()a JsonReader .
Returns:
isStartArrayOrObject
public final boolean isStartArrayOrObject()
Seja o currentToken() ou START_ARRAYSTART_OBJECT.
Returns:
nextToken
public abstract JsonToken nextToken()
Itera para e retorna o próximo JsonToken no valor codificado em JSON.
Retorna nulo se a iteração para o próximo token concluir a leitura do valor codificado em JSON.
Returns:
Throws:
readChildren
public final String readChildren()
Lerá recursivamente o sub-fluxo do token JSON se o token atual for START_ARRAY ou START_OBJECT.
Se o currentToken() não START_OBJECT for ou START_ARRAY nada será lido.
Returns:
Throws:
readChildren
public final void readChildren(StringBuilder buffer)
Lerá recursivamente o sub-fluxo do token JSON se o token atual estiver START_ARRAY ou START_OBJECT no passado StringBuilder.
Se o currentToken() não START_OBJECT for ou START_ARRAY nada será lido.
Parameters:
Throws:
buffer
for nulo.
readRemainingFieldsAsJsonObject
public final String readRemainingFieldsAsJsonObject()
Lê os campos restantes no objeto JSON atual como um objeto JSON.
Se o currentToken() for START_OBJECT , isso funcionará da mesma forma que readChildren(). Se o currentToken() for FIELD_NAME , isso criará um objeto JSON em que o primeiro campo é o campo atual e lerá os campos restantes no objeto JSON.
Se o currentToken() não START_OBJECT for ou FIELD_NAME nada será lido.
Returns:
Throws:
readRemainingFieldsAsJsonObject
public final void readRemainingFieldsAsJsonObject(StringBuilder buffer)
Lê os campos restantes no objeto JSON atual como um objeto JSON.
Se o currentToken() for START_OBJECT , isso funcionará da mesma forma que readChildren(StringBuilder buffer). Se o currentToken() for FIELD_NAME , isso criará um objeto JSON em que o primeiro campo é o campo atual e lerá os campos restantes no objeto JSON.
Se o currentToken() não START_OBJECT for ou FIELD_NAME nada será lido.
Parameters:
Throws:
buffer
for nulo.
readUntyped
public final Object readUntyped()
Lê um objeto não tipado.
Se o currentToken() for nulo, isso será nextToken().
Se o token inicial for END_ARRAY, END_OBJECTou FIELD_NAME um IllegalStateException será gerado, pois esses são pontos de partida inválidos para ler um tipo desconhecido. Se o objeto não tipado estiver profundamente aninhado, um IllegalStateException também será lançado para evitar uma exceção de estouro de pilha.
O objeto retornado será um dos seguintes:
- nulo se o token inicial for nulo ou NULL
- true ou false se o token inicial for BOOLEAN
- Um dos int, long, float ou double é o token inicial é NUMBER, o menor valor que contém será usado se o número for um inteiro
- Uma matriz de elementos não tipado se o ponto de partida for START_ARRAY
- Um mapa de valor sem tipo de cadeia de caracteres se o ponto de partida for START_OBJECT
Returns:
Throws:
reset
public abstract JsonReader reset()
Cria uma nova JsonReader redefinição para o início do fluxo JSON.
Use isResetSupported() para determinar se o JsonReader pode ser redefinido. Se a redefinição for chamada e não houver suporte, um IllegalStateException será gerado.
Returns:
Throws:
skipChildren
public abstract void skipChildren()
Ignora recursivamente o sub-fluxo do token JSON se o token atual for START_ARRAY ou START_OBJECT.
Se o token atual não for o início de uma matriz ou objeto, esse método será uma operação não operada.
Throws:
Aplica-se a
Azure SDK for Java