System.JSON.Builders.TJSONIterator

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.TObjectTJSONIterator

Delphi

TJSONIterator = class

C++

class PASCALIMPLEMENTATION TJSONIterator : public System::TObject

Propriétés

Type Visibilité  Source Unité  Parent
class public
System.JSON.Builders.pas
System.JSON.Builders.hpp
System.JSON.Builders System.JSON.Builders


Description

Vous permet de parcourir le contenu fourni par le lecteur JSON.

Les itérateurs sont similaires au lecteur JSON, mais ils fournissent des fonctionnalités supplémentaires et se comportent légèrement différemment. Par exemple :

Parcourir les données d'entrée

Pour parcourir le contenu du lecteur JSON source :

  1. A l'aide la propriété Create, créez un itérateur JSON qui lit les données à partir du lecteur JSON.
  2. Appelez Next pour que le lecteur se déplace jusqu'au premier token JSON des données d'entrée.
    • Type indique le type du token.
    • Si vous parcourez un tableau, utilisez Index pour obtenir l'index du token en cours. Si vous parcourez un objet, utilisez Key pour obtenir la clé du token en cours.
    • Utilisez l'une des propriétés de valeur de l'itérateur pour accéder à la valeur du token en cours. Le type d'un token détermine le type de sa valeur, ce qui détermine la propriété de valeur que vous devez utiliser pour accéder à la valeur du token. Par exemple, si Type vaut Boolean, vous pouvez appeler AsBoolean pour accéder à la valeur booléenne du token en cours.
  3. Continuez à appeler Next pour parcourir tous les tokens JSON des données d'entrée. Next renvoie False lorsqu'elle atteint la fin des données d'entrée.

Vous pouvez utiliser Rewind pour replacer l'itérateur au début des données d'entrée.

Propriétés de valeur

TJSONIterator fournit plusieurs propriétés que vous pouvez lire pour obtenir la valeur du token en cours de l'itérateur. La valeur de la propriété Type détermine quelles propriétés vous pouvez utiliser pour lire la valeur.

Le tableau suivant affiche certaines valeurs de la propriété Type et les propriétés de TJSONIterator que vous pouvez utiliser pour lire la valeur du token en cours :

Valeur Type Propriétés TJSONIterator

Boolean

AsBoolean

Bytes

AsBytes

CodeWScope

AsCodeWScope

Date

AsDateTime

DBRef

AsDBRef

Float

AsDouble
AsExtended

Integer

AsInteger
AsInt64

MaxKey

IsMaxKey

MinKey

IsMinKey

Null

IsNull

Oid

AsOid

RegEx

AsRegEx

String

AsString
AsGUID (si vous savez que la chaîne contient un GUID)

Undefined

IsUndefined

Pour accéder à la valeur du token en cours dans un format différent, vous pouvez utiliser AsValue ou AsVariant.

Utilisation de la récursivité

TJSONIterator est un itérateur superficiel par défaut. Chaque fois que l'itérateur atteint un token de type TJsonToken.StartObject ou TJsonToken.StartObject, vous devez appeler Recurse avant l'appel suivant à Next pour garantir que l'itérateur n'ignore pas l'ensemble du tableau ou de l'objet.

Pendant la récursivité, vous pouvez utiliser Return pour ignorer le contenu restant du tableau ou de l'objet en cours, et replacer l'itérateur au niveau du parent du tableau ou de l'objet.

Lorsque vous démarrez l'itération du lecteur JSON source, Depth vaut 0. Chaque fois que vous utilisez la récursivité pour accéder à un tableau ou à un objet, la profondeur (Depth) augmente de 1. Lorsque vous quittez un tableau ou un objet, soit parce que vous êtes arrivé à la fin, soit parce que vous avez ignoré le contenu pour accéder directement à la fin en utilisant Return, la profondeur décroît de 1. InRecurse indique si la profondeur de l'itérateur est supérieure à 0.

ParentType indique le type du parent du token en cours, qui peut être TJsonToken.StartObject ou TJsonToken.StartObject. En l'absence de profondeur, ParentType vaut TJsonToken.None.

Vérification de l'existence de données spécifiques

Utilisez Find pour déterminer si le contenu du lecteur JSON source contient des données correspondant à un chemin JSON donné.

Voir aussi