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.
Tabela 1. Operadores de consulta
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.

Tabela 2. Exemplos de consulta
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" } ]