Sorgu

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

Aşağıdaki tabloda sorgu işleçleri gösterilmektedir. a ve b , bir değişmez 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
İşleç 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ük ya da eşittir
a < = b Küçüktür ya da eşittir
adeğil asonucunu geçitir
aile a özniteliği bir öznitelik olarak var olup olmadığını denetler

Aşağıdaki tabloda, dizi öğelerine uygulayabileceğiniz sorgu işleçlerine örnekler gösterilmektedir.

Tablo 2. Sorgu örnekleri
Örnek Açıklama İl/Eyalet İfade Sonuç
Eşitlik (veya Eşitsizlik) Bir özniteliğe eşit bir özniteliğe sahip nesneler için bir dizi 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 özniteliklere sahip nesneler 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" } ]
Primitives Belirli bir sorguyu geçiren bir dizideki temel öğeleri seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ != "value 2"] [ "value 1", "value 3" ]
ve 've' işleciyle seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ != "value 2" and @ != 'value 3'] [ "value 1" ]
Veya 'ya da' işleciyle seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[@ = "value 2" or @ = "value 3"] [ "value 2", "value 3" ]
Ayraçlar Parantez ile seçer. { "array": [ "value 1", "value 2", "value 3" ] } /array[not (@ = "value 2" or @ = "value 3")] [ "value 1" ]
Var Belirli bir özniteliğe sahip 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" } ]