Consultar
Elementos de matriz podem ser consultados usando colchetes ([]). A consulta é avaliada em relação a todos os elementos da matriz. A consulta pode selecionar quaisquer campos do elemento para comparação e referenciar qualquer coisa no documento JSON.
A tabela a seguir mostra os operadores de consulta. Os operadores a e b podem ser uma construção constante ou JPath. A seleção básica, a consulta, a aritmética e as funções são construções JPath.
| Operador | Descrição |
|---|---|
| a = b | Equal |
| a ! = b | Não igual |
| a > b | Maior do que |
| a < b | Menor do que |
| a > = b | Maior ou igual a |
| a <= b | Menor ou igual a |
| não a | Nega o resultado de a |
| existe a | Verifica se a existe como um atributo |
A tabela a seguir mostra exemplos dos operadores de consulta que podem ser aplicados aos elementos da matriz.
| Exemplo | Descrição | Estado | Expressão | Resultado |
|---|---|---|---|---|
| Igualdade (ou Desigualdade) | Consulta uma matriz para objetos com um atributo igual a um 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" } ] |
| Maior do que | Consulta uma matriz de objetos com atributos maiores que um 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" } ] |
| Primitives | Seleciona primitivas de uma matriz que passa por uma consulta específica. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[@ != "value 2"] |
[ "value 1", "value 3" ] |
| E | Seleciona com o operador 'and'. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[@ != "value 2" and @ != 'value 3'] |
[ "value 1" ] |
| Ou | Seleciona com o operador 'or'. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[@ = "value 2" or @ = "value 3"] |
[ "value 2", "value 3" ] |
| Parênteses | Seleciona com parênteses. | { "array": [ "value 1", "value 2", "value 3" ]
} |
/array[not (@ = "value 2" or @ = "value 3")] |
[ "value 1" ] |
| Exists | Seleciona os objetos de uma matriz que possuem um 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" } ] |