Sorgu

Dizi öğeleri köşeli ayraç ([]) kullanılarak sorgulanabilir. Sorgu, tüm dizi öğelerine karşı değerlendirilir. Sorgu, karşılaştırmak ve JSON belgesindeki herhangi bir öğeye başvuruda bulunmak için öğenin herhangi bir alanını seçebilir.

Aşağıdaki tablo sorgu işleçlerini göstermektedir. a ve b bir sabit ya da JPath yapısı olabilir. Temel seçim, sorgu, aritmetik ve işlevler JPath yapılarıdır.
Tablo 1. Sorgu işleçleri
Operatör Açıklama
a = b Eşittir
a ! = b Eşit Değil
a > b Büyüktür
a < b Küçüktür
a > = b Büyüktür ya da eşittir
a < = b Küçüktür ya da eşittir
değil a sonucunu olumsuzlar
bir a ' ın öznitelik olarak var olup olmadığını denetler

Aşağıdaki tablo, dizi öğelerine uygulayabileceğiniz sorgu işleçlerinin örneklerini göstermektedir.

Tablo 2. Sorgu örnekleri
Örnek Açıklama İl İfade Sonuç
Eşitlik (ya da Eşitsizlik) Bir değere eşit özniteliğe sahip nesneler için bir diziyi sorgular. { "array": [ { "id": 1, "name": "Object 1" }, { "id": 2, "name": "Object 2" }, { "id": 3, "name": "Object 3" } ] } /array[@id = 2] [ { "id": 2, "name": "Object 2" } ]
Büyüktür Bir değerden büyük öznitelikleri olan bir nesne dizisini sorgular. { "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" } ]
İlkel Belirli bir sorguyu geçiren bir diziden temel öğeleri seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ != "value 2"] [ "value 1", "value 3" ]
ve 'and' işleciyle seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ != "value 2" and @ != 'value 3'] [ "value 1" ]
Veya 'or' işleciyle seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ = "value 2" or @ = "value 3"] [ "value 2", "value 3" ]
Ayraçlar Ayraç ile seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[not (@ = "value 2" or @ = "value 3")] [ "value 1" ]
Var Belirli bir özniteliği olan bir dizinin nesnelerini seçer. { "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" } ]