Expressions XQuery pour JSON
Les documents JSON peuvent être interrogés en saisissant une expression de requête XPath/XQuery 3.1 dans la fenêtre de sortie XPath/XQuery (voir la capture d'écran ci-dessous).
Pour évaluer une expression dans un document JSON, suivez les étapes suivantes :
1.Choisir soit l'icône XPath 3.1 ou XQuery 3.1.
2.Dans la capture d'écran, la fenêtre se trouve en mode d'évaluation JSON.
3.Saisir l'expression XPath 3.1 ou XQuery 3.1 .
4.Cliquez sur Lancer évaluation (à gauche dans la barre d'outils).
Expressions XQuery 3.1 pour JSON
Puisque les structures de données JSON utilisent généralement des objets et des tableaux, c'est l'opérateur de consultation XQuery 3.1 ? qui est utilisé pour situer des nœuds dans des objets JSON (qui sont principalement des mappages depuis une perspective XQuery) et des tableaux JSON. Cette méthode pour situer un nœud diffère de la manière dont les expressions de chemin sont écrites pour situer des nœuds dans des documents XML. Dans ceux-ci, l'opérateur "barre oblique" / est utilisé pour connecter des étapes dans une expression de chemin (par exemple : items/*). Dans des expressions XQuery pour JSON, l'opérateur de barre oblique n'est pas utilisé pour situer des nœuds.
Exemples d'expressions XQuery pour JSON
?items?*
Signification de l'expression : consultation du nœud enfant items puis consultation de tous ses nœuds enfants. Veuillez noter que items est censé être un nœud enfant du nœud contextuel.
?Artists?1?Albums?2?Name
Signification de l'expression : consultation du nœud enfant Artists puis consultation de son premier nœud enfant. Dans ce nœud, consulte le nœud enfant Albums puis consulte son second nœud enfant. Retourne maintenant le nœud Name de ce second nœud enfant.
?Tracks?*[contains(?Writer, 'Brian')]
Signification de l'expression : consultation du nœud enfant Tracks puis consultation de tous ses enfants. Lors de la consultation des enfants, consulte tous les enfants de nœud Writer de l'enfant, et ne sélecte que ceux qui contiennent le string 'Brian'. Veuillez noter qu'il y a trois opérateurs de consultation dans cette expression. Chacun est utilisé dans une nouvelle étape, à l'endroit où un nodeset doit être consulté.
?Artists?*[?Name="Queen"]?Albums?*?Name
Signification de l'expression : Dans l'objet racine, consulte le nœud enfant Artists puis consulte tous ses enfant qui ont un nœud Name avec une valeur de "Queen". Dans ces nœuds, consulte tous les nœuds de l'enfant Albums, puis leurs enfants. Dans ces enfants, consulte (et retourne) les nœuds respectifs Name. Dans la capture d'écran ci-dessous, cette expression est connue dans la fenêtre XPath/XQuery avec la représentation Mode JSON Grid du document cible JSON.
Volet Résultats pour l'évaluation JSON
Le volet Résultats montre les composants JSON sélectionnés en gras dans le côté gauche du volet Résultats, et la valeur du composant dans la côté droit du volet. Dans la capture d'écran ci-dessous, les résultats sont affichés en gras. L'array a été étendu pour montrer ses membres.
Les mappages et les arrays sont affichés en format abrégé ou un détail selon que l'icône Afficher le résultat complet dans la barre d'outils a été activée ou pas. Les mappages et les arrays du côté gauche du volet peuvent être étendus en cliquant sur leurs icônes plus respectives.