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.
| 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.
| 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" } ] |