Altova XMLSpy 2023 Enterprise Edition

Expressions XQuery pour JSON

Accueil Préc Haut Suivant

Des documents JSON peuvent être requêtés en saisissant une expression de requête XPath/XQuery 3.1 dans la Fenêtre de sortie XPath/XQuery (voir capture d'écran ci-dessous).

XPathXQueryWindow4JSON01

Pour évaluer une expression dans un document JSON, procéder comme suit :

 

1.Choisir soit l'icône XPath 3.1 ou XQuery 3.1.

2.S'assurer que la fenêtre se trouve dans le mode d'évaluation JSON.

3.Saisir l'expression XPath 3.1 ou XQuery 3.1 .

4.Cliquer 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.

 

inc-XQueryExpForJSON

 

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.

XPXQWindowJSON02

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.

 

© 2016-2022 Altova GmbH