Partager via


JsonReader Classe

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

Implémente

public abstract class JsonReader
implements Closeable

Lit une valeur JSON sous la forme d’un flux de jetons.

Les instances de JsonReader sont créées à l’aide d’un instance de ou à JsonProvider l’aide des méthodes utilitaires dans JsonProviders.

Récapitulatif du constructeur

Constructeur Description
JsonReader()

Crée une instance de JsonReader.

Résumé de la méthode

Modificateur et type Méthode et description
final T getNullable(ReadValueCallback<JsonReader,T> nonNullGetter)

Méthode pratique pour lire un type nullable.

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

Lit un tableau JSON.

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

Lit une carte JSON.

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

Lit un objet JSON.

abstract JsonReader bufferObject()

Lit et retourne l’objet JsonReader JSON actuel vers lequel pointe.

abstract void close()

Ferme le flux JSON.

abstract JsonToken currentToken()

Obtient le JsonToken que le lecteur pointe actuellement.

abstract byte[] getBinary()

Obtient la valeur binaire si le lecteur pointe actuellement vers un STRING jeton.

abstract boolean getBoolean()

Obtient la valeur booléenne si le lecteur pointe actuellement vers un BOOLEAN jeton.

abstract double getDouble()

Obtient la double valeur si le lecteur pointe actuellement vers un NUMBER ou STRING.

abstract String getFieldName()

Obtient le nom du champ si le lecteur pointe actuellement vers un FIELD_NAME.

abstract float getFloat()

Obtient la valeur float si le lecteur pointe actuellement vers un NUMBER ou .STRING

abstract int getInt()

Obtient la valeur int si le lecteur pointe actuellement vers un NUMBER ou STRING.

abstract long getLong()

Obtient la valeur long si le lecteur pointe actuellement vers un NUMBER ou .STRING

String getRawText()

Obtient la valeur de texte brut pour .currentToken()

abstract String getString()

Obtient la valeur String si le lecteur pointe actuellement vers un BOOLEAN, NULL, NUMBERou STRING.

final String getText()

Obtient la valeur de texte pour .currentToken()

final boolean isEndArrayOrObject()

Indique si est currentToken()END_ARRAY ou END_OBJECT.

abstract boolean isResetSupported()

Indique si prend JsonReader en charge reset().

final boolean isStartArrayOrObject()

Indique si est currentToken()START_ARRAY ou START_OBJECT.

abstract JsonToken nextToken()

Itère vers et retourne le suivant JsonToken dans la valeur encodée JSON.

final String readChildren()

Lit de manière récursive le sous-flux de jeton JSON si le jeton actuel est START_ARRAY ou START_OBJECT.

final void readChildren(StringBuilder buffer)

Lit de manière récursive le sous-flux de jeton JSON si le jeton actuel est START_ARRAY ou START_OBJECT dans le passé StringBuilder.

final String readRemainingFieldsAsJsonObject()

Lit les champs restants dans l’objet JSON actuel en tant qu’objet JSON.

final void readRemainingFieldsAsJsonObject(StringBuilder buffer)

Lit les champs restants dans l’objet JSON actuel en tant qu’objet JSON.

final Object readUntyped()

Lit un objet non typé.

abstract JsonReader reset()

Crée une JsonReader réinitialisation au début du flux JSON.

abstract void skipChildren()

Ignore de manière récursive le sous-flux de jeton JSON si le jeton actuel est START_ARRAY ou START_OBJECT.

Méthodes héritées de java.lang.Object

Détails du constructeur

JsonReader

public JsonReader()

Crée une instance de JsonReader.

Détails de la méthode

getNullable

public final T getNullable(ReadValueCallback nonNullGetter)

Méthode pratique pour lire un type nullable.

Si est currentToken()NULL null est retourné, sinon il JsonReader est passé à la nonNullGetter fonction pour obtenir la valeur. En fait, il s’agit de la forme générique des méthodes get*NullableValue.

Parameters:

nonNullGetter - Fonction qui lit la valeur JSON non null.

Returns:

Null si est currentToken()NULL ou la valeur retournée par nonNullGetter.

Throws:

IOException

- Si la valeur suivante ne peut pas être lue en tant que nullable.

readArray

public final List readArray(ReadValueCallback elementReaderFunc)

Lit un tableau JSON.

Si a la currentToken() valeur Null, cela a pour valeur nextToken(). Si le jeton de départ est toujours null ou NULL null est retourné. Si le jeton est autre chose qu’un START_ARRAYIllegalStateException sera levée.

Une fois que le flux JSON est préparé pour la lecture de l’élément, il obtient le jeton d’élément et le transmet JsonReader à pour elementReaderFunc gérer la lecture de l’élément du tableau. Si le tableau ne contient aucun élément, une liste vide est retournée.

Si un objet JSON doit être lu, utilisez readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) ou si un mappage JSON doit être lu, utilisez readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).

Parameters:

elementReaderFunc - Fonction qui lit chaque élément du tableau.

Returns:

Tableau JSON lu, ou null si a la JsonToken valeur null ou NULL.

Throws:

IOException

- Si le jeton n’est pas JsonToken#START_ARRAY, JsonToken#NULLou null.

readMap

public final Map readMap(ReadValueCallback valueReaderFunc)

Lit une carte JSON.

Si a la currentToken() valeur Null, cela a pour valeur nextToken(). Si le jeton de départ est toujours null ou NULL null est retourné. Si le jeton est autre chose qu’un START_OBJECTIllegalStateException sera levée.

Une fois que le flux JSON est préparé pour la lecture clé-valeur, il obtient le jeton suivant et lit le nom du champ comme clé, puis obtient le jeton suivant après cela et le transmet JsonReader au valueReaderFunc pour gérer la lecture de la valeur de la paire clé-valeur. Si l’objet ne contient aucun élément, une carte vide est retournée.

Si un objet JSON doit être lu, utilisez readObject(ReadValueCallback<JsonReader,T> objectReaderFunc) ou si un tableau JSON doit être lu, utilisez readArray(ReadValueCallback<JsonReader,T> elementReaderFunc).

Parameters:

valueReaderFunc - Fonction qui lit chaque valeur de la paire clé-valeur.

Returns:

La carte JSON de lecture, ou null si a la JsonToken valeur null ou NULL.

Throws:

IOException

- Si le jeton n’est pas JsonToken#START_OBJECT, JsonToken#NULLou null.

readObject

public final T readObject(ReadValueCallback objectReaderFunc)

Lit un objet JSON.

Si a la currentToken() valeur Null, cela a pour valeur nextToken(). Si le jeton de départ est toujours null ou NULL null est retourné. Si le jeton est autre chose qu’un START_OBJECTIllegalStateException sera levée.

Une fois que le flux JSON est préparé pour la lecture de l’objet, il obtient le jeton suivant et le transmet JsonReader à pour gérer la objectReaderFunc lecture de l’objet.

Si un tableau JSON doit être lu, utilisez readArray(ReadValueCallback<JsonReader,T> elementReaderFunc) ou si un mappage JSON doit être lu, utilisez readMap(ReadValueCallback<JsonReader,T> valueReaderFunc).

Parameters:

objectReaderFunc - Fonction qui lit chaque valeur de la paire clé-valeur.

Returns:

Objet JSON de lecture, ou null si a la JsonToken valeur null ou NULL.

Throws:

IOException

- Si le jeton n’est pas JsonToken#START_OBJECT, JsonToken#NULLou null.

bufferObject

public abstract JsonReader bufferObject()

Lit et retourne l’objet JsonReader JSON actuel vers lequel pointe. Cela permet de muter l’emplacement actuel de ce JsonReader.

Si le currentToken() n’est pas START_OBJECT ou FIELD_NAME un IllegalStateException sera levée.

Si le currentToken() est FIELD_NAME , cela crée un objet JSON où le premier champ JSON est le currentToken() champ, ce qui signifie qu’il peut être appelé à partir du milieu d’un objet JSON pour créer un nouvel objet JSON avec uniquement un sous-ensemble de champs (ceux qui restent à partir du moment où la méthode est appelée).

Le retourné JsonReader est en mesure de reset() relire le flux JSON sous-jacent.

Returns:

Objet JSON mis en mémoire tampon vers JsonReader lequel pointait.

Throws:

IOException

- Si le #currentToken() n’est pas JsonToken#START_OBJECT ou JsonToken#FIELD_NAME suivi de JsonToken#START_OBJECT

close

public abstract void close()

Ferme le flux JSON.

Throws:

IOException

- Si le magasin de contenu sous-jacent ne parvient pas à se fermer.

currentToken

public abstract JsonToken currentToken()

Obtient le JsonToken que le lecteur pointe actuellement.

Retourne null si le lecteur ne pointe pas vers un jeton. Cela se produit si le lecteur n’a pas commencé à lire la valeur JSON ou si la lecture de la valeur JSON est terminée.

Returns:

JsonToken que le lecteur pointe actuellement, ou null si le lecteur ne pointe pas vers un jeton.

getBinary

public abstract byte[] getBinary()

Obtient la valeur binaire si le lecteur pointe actuellement vers un STRING jeton.

Cette opération retourne l’équivalent de Base64#getDecoder()Base64.Decoder#decode(String).

Si le lecteur pointe vers une NULL valeur null est retourné. Si le lecteur pointe vers un autre type de jeton, un IllegalStateException sera levée.

Returns:

Valeur binaire selon que le jeton actuel est STRING ou NULL.

Throws:

IOException

- Si le lecteur ne pointe pas vers JsonToken#STRING ou JsonToken#NULL.

getBoolean

public abstract boolean getBoolean()

Obtient la valeur booléenne si le lecteur pointe actuellement vers un BOOLEAN jeton.

Si le lecteur pointe vers un autre type de jeton, un IllegalStateException sera levée.

Si Boolean doit être lu, utilisez getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valeur booléenne basée sur .BOOLEAN

Throws:

IOException

- Si le lecteur ne pointe pas vers JsonToken#BOOLEAN.

getDouble

public abstract double getDouble()

Obtient la double valeur si le lecteur pointe actuellement vers un NUMBER ou STRING.

STRING lève un NumberFormatException si la valeur de chaîne sous-jacente ne peut pas être convertie en double.

Tous les autres JsonToken types lèvent un IllegalStateException.

Si Double doit être lu, utilisez getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Double valeur basée sur le jeton actuel.

Throws:

IOException

- Si le jeton actuel est un JsonToken#STRING et ne peut pas être converti en double.

getFieldName

public abstract String getFieldName()

Obtient le nom du champ si le lecteur pointe actuellement vers un FIELD_NAME.

Tous les autres JsonToken types lèvent un IllegalStateException.

Returns:

Nom du champ en fonction du jeton actuel.

Throws:

IOException

- Si le jeton actuel n’est pas un JsonToken#FIELD_NAME.

getFloat

public abstract float getFloat()

Obtient la valeur float si le lecteur pointe actuellement vers un NUMBER ou .STRING

STRING lève un NumberFormatException si la valeur de chaîne sous-jacente ne peut pas être convertie en float.

Tous les autres JsonToken types lèvent un IllegalStateException.

Si Float doit être lu, utilisez getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valeur float basée sur le jeton actuel.

Throws:

IOException

- Si le jeton actuel est un JsonToken#STRING et ne peut pas être converti en float.

getInt

public abstract int getInt()

Obtient la valeur int si le lecteur pointe actuellement vers un NUMBER ou STRING.

STRING lève un NumberFormatException si la valeur de chaîne sous-jacente ne peut pas être convertie en int.

Tous les autres JsonToken types lèvent un IllegalStateException.

Si Integer doit être lu, utilisez getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valeur int basée sur le jeton actuel.

Throws:

IOException

- Si le jeton actuel est un JsonToken#STRING et ne peut pas être converti en int.

getLong

public abstract long getLong()

Obtient la valeur long si le lecteur pointe actuellement vers un NUMBER ou .STRING

STRING lève un NumberFormatException si la valeur de chaîne sous-jacente ne peut pas être convertie en long.

Tous les autres JsonToken types lèvent un IllegalStateException.

Si Long doit être lu, utilisez getNullable(ReadValueCallback<JsonReader,T> nonNullGetter).

Returns:

Valeur longue basée sur le jeton actuel.

Throws:

IOException

- Si le jeton actuel est un JsonToken#STRING et ne peut pas être converti en long.

getRawText

public String getRawText()

Obtient la valeur de texte brut pour .currentToken()

Voici comment chaque JsonToken type est géré :

Si le jeton actuel est null, un IllegalStateException sera levée.

Returns:

Valeur de texte brut pour .currentToken()

Throws:

IOException

- Si le jeton actuel est null.

getString

public abstract String getString()

Obtient la valeur String si le lecteur pointe actuellement vers un BOOLEAN, NULL, NUMBERou STRING.

Si le jeton actuel est un BOOLEAN, ou NUMBER si la représentation String de la valeur est retournée. Si le jeton actuel est NULL null est retourné.

Tous les autres JsonToken types lèvent un IllegalStateException.

Returns:

Valeur string basée sur le jeton actuel.

Throws:

IOException

- Si le jeton actuel n’est pas un JsonToken#BOOLEAN, JsonToken#NULL, JsonToken#NUMBERou JsonToken#STRING.

getText

public final String getText()

Obtient la valeur de texte pour .currentToken()

Voici comment chaque JsonToken type est géré :

Si le jeton actuel est null, un IllegalStateException sera levée.

Returns:

Valeur de texte pour .currentToken()

Throws:

IOException

- Si le jeton actuel est null.

isEndArrayOrObject

public final boolean isEndArrayOrObject()

Indique si est currentToken()END_ARRAY ou END_OBJECT.

Returns:

isResetSupported

public abstract boolean isResetSupported()

Indique si prend JsonReader en charge reset().

Returns:

Indique si reset() est pris en charge.

isStartArrayOrObject

public final boolean isStartArrayOrObject()

Indique si est currentToken()START_ARRAY ou START_OBJECT.

Returns:

nextToken

public abstract JsonToken nextToken()

Itère vers et retourne le suivant JsonToken dans la valeur encodée JSON.

Retourne null si l’itération vers le jeton suivant termine la lecture de la valeur encodée JSON.

Returns:

Suivant JsonToken dans la valeur encodée JSON, ou null si la lecture est terminée.

Throws:

IOException

- Si le jeton suivant ne peut pas être déterminé.

readChildren

public final String readChildren()

Lit de manière récursive le sous-flux de jeton JSON si le jeton actuel est START_ARRAY ou START_OBJECT.

Si le currentToken() n’est pas START_OBJECT ou START_ARRAY si rien n’est lu.

Returns:

Valeur textuelle brute du sous-flux de jeton JSON.

Throws:

IOException

- Si les enfants ne peuvent pas être lus.

readChildren

public final void readChildren(StringBuilder buffer)

Lit de manière récursive le sous-flux de jeton JSON si le jeton actuel est START_ARRAY ou START_OBJECT dans le passé StringBuilder.

Si le currentToken() n’est pas START_OBJECT ou START_ARRAY si rien n’est lu.

Parameters:

buffer - StringBuilder où le sous-flux de lecture sera écrit.

Throws:

IOException

- Si buffer a la valeur Null.

readRemainingFieldsAsJsonObject

public final String readRemainingFieldsAsJsonObject()

Lit les champs restants dans l’objet JSON actuel en tant qu’objet JSON.

Si est currentToken()START_OBJECT , cette fonction est identique à readChildren(). Si est FIELD_NAME , currentToken() cela crée un objet JSON où le premier champ est le champ actuel et lit les champs restants dans l’objet JSON.

Si le currentToken() n’est pas START_OBJECT ou FIELD_NAME si rien n’est lu.

Returns:

Valeur textuelle brute des champs JSON restants.

Throws:

IOException

- Si les champs JSON restants ne peuvent pas être lus.

readRemainingFieldsAsJsonObject

public final void readRemainingFieldsAsJsonObject(StringBuilder buffer)

Lit les champs restants dans l’objet JSON actuel en tant qu’objet JSON.

Si est currentToken()START_OBJECT , cette fonction est identique à readChildren(StringBuilder buffer). Si est FIELD_NAME , currentToken() cela crée un objet JSON où le premier champ est le champ actuel et lit les champs restants dans l’objet JSON.

Si le currentToken() n’est pas START_OBJECT ou FIELD_NAME si rien n’est lu.

Parameters:

buffer - où StringBuilder les champs JSON restants seront écrits.

Throws:

IOException

- Si buffer a la valeur Null.

readUntyped

public final Object readUntyped()

Lit un objet non typé.

Si a la currentToken() valeur Null, cela a pour valeur nextToken().

Si le jeton de départ est END_ARRAY, END_OBJECTou FIELD_NAME un IllegalStateException est levée, car il s’agit de points de départ non valides pour la lecture d’un type inconnu. Si l’objet non typé est profondément imbriqué, une IllegalStateException exception est également levée pour empêcher une exception de dépassement de capacité de la pile.

L’objet retourné sera l’un des suivants :

  • null si le jeton de départ est null ou NULL
  • true ou false si le jeton de départ est BOOLEAN
  • L’une des valeurs int, long, float ou double est que le jeton de départ est NUMBER, la plus petite valeur contenant sera utilisée si le nombre est un entier
  • Tableau d’éléments non typés si le point de départ est START_ARRAY
  • Carte de la valeur non typée de chaîne si le point de départ est START_OBJECT

Returns:

Valeur non typée basée sur les types de retour décrits ci-dessus.

Throws:

IOException

- Si le point de départ de l’objet est JsonToken#END_ARRAY, JsonToken#END_OBJECTou JsonToken#FIELD_NAME si l’objet non typé est profondément imbriqué.

reset

public abstract JsonReader reset()

Crée une JsonReader réinitialisation au début du flux JSON.

Utilisez isResetSupported() pour déterminer si peut JsonReader être réinitialisé. Si la réinitialisation est appelée et qu’elle n’est pas prise en charge, une IllegalStateException exception est levée.

Returns:

JsonReader Nouvelle réinitialisation au début du flux JSON.

Throws:

IOException

- Si la réinitialisation n’est pas prise en charge par le JsonReader actuel.

skipChildren

public abstract void skipChildren()

Ignore de manière récursive le sous-flux de jeton JSON si le jeton actuel est START_ARRAY ou START_OBJECT.

Si le jeton actuel n’est pas le début d’un tableau ou d’un objet, cette méthode est une opération sans opération.

Throws:

IOException

- Si les enfants ne peuvent pas être ignorés.

S’applique à