JSONPath sorgusu
Uzun bir JSON'dan tam olarak ihtiyacınız olan veriyi bir JSONPath ifadesiyle çekin — örneğin tüm kullanıcıların adlarını veya yalnızca 10'un altındaki ürünleri.
JSON, JSONPath ile nasıl sorgulanır
- JSON'unuzu soldaki kutuya yapıştırın.
- "Yol" kutusuna her zaman $ ile başlayan bir JSONPath ifadesi yazın — örneğin tüm kullanıcıların adı için $.users[*].name.
- Sonuç, bulunan değerlerin listesidir. Her değerin yolunu görmek için "Her değerin nerede bulunduğunu göster"i açın.
Sık sorulan sorular
$ belgenin tamamıdır. .name bir alanı alır, [0] listenin ilk öğesini, [-1] sonuncusunu, [*] hepsini, [1:3] 2. ve 3. öğeleri alır; ..name ise o alanı her derinlikte bulur. Örneğin: $.users[0].name veya $..price.
[?(...)] kullanın; @ kontrol edilen her öğedir. Örneğin $.products[?(@.price < 10)] fiyatı 10'un altındaki ürünleri alır. ==, !=, <, <=, > ve >= ile karşılaştırabilir, koşulları && (ve), || (veya) ve ! (değil) ile birleştirebilirsiniz. Yalnızca [?(@.isbn)] yazarsanız o alana sahip öğeler kalır.
Adı köşeli parantez ve çift tırnak içine alın, örneğin $["first name"] veya $.users[0]["first-name"].
Bir yol birden çok değerle eşleşebilir, bu yüzden sonuç her zaman listedir. Tek değer eşleşirse listede tek öğe olur, hiçbir şey eşleşmezse boş liste [] olur.
Evet, filtrelerde. length(@.name) metnin karakterlerini (veya listenin öğelerini) sayar, count(@.tags[*]) bulunan değerleri sayar, value(@..color) bulunan tek değeri verir, match(@.name, "^An") metnin tamamının kalıba uyduğunu, search(@.name, "An") ise metnin kalıbı içerdiğini kontrol eder. Örneğin: $.users[?(length(@.name) > 3 && match(@.name, "^B"))].
Temel regex sözdizimi: düz karakterler, nokta (herhangi bir karakter), [abc] ve [a-z], [^abc] (bunlar hariç), * + ? ve tam tekrar sayıları, | (veya), gruplar (…), ^ ve $ (metnin başı ve sonu), \d \w \s, \b (kelime sınırı) ve büyük harfler için \p gibi Unicode grupları. İleri/geri bakış (?=…) ve geri başvuru (\1) yoktur. Buna karşılık her kalıp hızlı çalışır — kötü yazılmış biri bile sayfayı dondurmaz. Not: sorguda ters eğik çizgi iki kez yazılır, örneğin \d+ kalıbı için \"\\d+\".
Hayır. Sayılar JSON'daki hâliyle korunur ve bir sayıya göre filtrelerken karşılaştırma son basamağa kadar kesindir.
Hayır. JSON doğrudan cihazınızda işlenir.
Tamamen ücretsizdir, hesap gerekmez.
İlgili araçlar
JSON'dan YAML'aJSON ile YAML arasında dönüştürünJSON'dan TOML'aJSON ile TOML arasında dönüştürünJSON'dan CSV'yeJSON ile CSV tablolar arasında dönüştürünJSON'dan XML'eJSON'u girintili XML'e dönüştürünJSON'dan TypeScript'eÖrnek JSON'dan TypeScript interface üretinJSON'dan JSON Schema'yaÖrnek JSON'dan JSON Schema oluşturunJSON Schema doğrulayıcıJSON verisinin bir JSON Schema'ya uyup uymadığını denetleyinJSON'dan Zod'aÖrnek JSON'dan Zod şeması oluşturunJSON'dan Go struct'aÖrnek JSON'dan Go struct'ları oluşturun