Consulta
Los elementos de matriz se pueden consultar utilizando corchetes ([]). La consulta se evalúa con respecto a todos los elementos de matriz. La consulta puede seleccionar cualquier campo del elemento para la comparación y hacer referencia a cualquier cosa del documento JSON.
La tabla siguiente muestra los operadores de consulta. a y b pueden ser una constante o una construcción JPath. La selección básica, la consulta, la aritmética y las funciones son construcciones JPath.
| Operador | Descripción |
|---|---|
| a = b | Igual |
| a ! = b | No igual a |
| a > b | Mayor que |
| a < b | Menor que |
| a > = b | Mayor o igual que |
| a < = b | Menor o igual que |
| no a | Niega el resultado de a |
| existe un | Comprueba si existe un como atributo |
La tabla siguiente muestra ejemplos de los operadores de consulta que puede aplicar a los elementos de matriz.
| Ejemplo | Descripción | Estado | Expresión | Resultado |
|---|---|---|---|---|
| Igualdad (o desigualdad) | Consulta una matriz para objetos con un atributo igual a un valor. | { "array": [ { "id": 1, "name": "Object 1" },
{ "id": 2, "name": "Object 2" }, { "id": 3,
"name": "Object 3" } ] } |
/array[@id = 2] |
[ { "id": 2, "name": "Object 2" } ] |
| Mayor que | Consulta una matriz de objetos con atributos mayores que un valor. | { "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" } ] |
| Primitivos | Selecciona primitivas de una matriz que pasa una consulta específica. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[@ != "value 2"] |
[ "value 1", "value 3" ] |
| Y | Selecciona con el operador 'and'. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[@ != "value 2" and @ != 'value 3'] |
[ "value 1" ] |
| O | Selecciona con el operador 'o'. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[@ = "value 2" or @ = "value 3"] |
[ "value 2", "value 3" ] |
| Paréntesis | Selecciona con paréntesis. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[not (@ = "value 2" or @ = "value 3")] |
[ "value 1" ] |
| Existe | Selecciona objetos de una matriz que tienen un atributo específico. | { "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" } ] |