Requête

Les éléments de tableau peuvent être interrogés à l'aide de crochets ([ ]). La requête est évaluée par rapport à tous les éléments du tableau. La requête peut sélectionner n'importe quelle zone de l'élément à des fins de comparaison et faire référence à n'importe quel élément du document JSON.

Le tableau suivant présente les opérateurs de requête. A et B peuvent être une construction constante ou une construction JPath. La sélection de base, la requête, l'arithmétique et les fonctions sont des constructions JPath.
Tableau 1. Opérateurs de requête
Opérateur Descriptif
a = b Egal
a != b Non égal
a > b Est supérieur à
a < b Est inférieur à
a >= b Égal ou supérieur à
a <= b Inférieur ou égal à
pas a Invalide le résultat de a
a existe Vérifie si a existe en tant qu'attribut

Le tableau suivant montre des exemples d'opérateurs de requête que vous pouvez appliquer aux éléments du tableau.

Tableau 2. Exemples de requête
Exemple Descriptif Etat Expression Résultat
Égalité (ou inégalité) Recherche dans un tableau les objets dont l'attribut est égal à une valeur. { "array": [ { "id": 1, "name": "Object 1" }, { "id": 2, "name": "Object 2" }, { "id": 3, "name": "Object 3" } ] } /array[@id = 2] [ { "id": 2, "name": "Object 2" } ]
Est supérieur à Interroge un tableau d'objets dont les attributs sont supérieurs à une valeur. { "array": [ { "id": 1, "name": "Object 1" }, { "id": 2, "name": "Object 2" }, { "id": 3, "name": "Object 3" } ] } /array[@id > 1] [ { "id": 2, "name": "Object 2" }, { "id": 3, "name": "Object 3" } ]
Primitives Sélectionne des primitives dans un tableau qui transmet une requête spécifique. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ != "value 2"] [ "value 1", "value 3" ]
Et Sélectionne avec l'opérateur 'and'. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ != "value 2" and @ != 'value 3'] [ "value 1" ]
Ou Sélectionne avec l'opérateur 'or'. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ = "value 2" or @ = "value 3"] [ "value 2", "value 3" ]
Parenthèses Sélectionne avec des parenthèses. { "array": [ "value 1", "value 2", "value 3" ] } /array[not (@ = "value 2" or @ = "value 3")] [ "value 1" ]
Existe Sélectionne les objets d'un tableau ayant un attribut spécifique. { "array": [ { "id": 1, "name": "Object 1" }, { "id": 2, "name": "Object 2" }, { "id": 3, } ] } /array[exists @name] [ { "id": 1, "name": "Object 1" }, { "id": 2, "name": "Object 2" } ]