JSONPath Test Aracı

JSONPath ifadelerini JSON verilerine karşı test edin, eşleşen değerleri ve yolları yazarken anında görün.

JSON girdisi
Eşleşen değerler
Test etmek için JSON ve bir JSONPath ifadesi girin.

JSON ve JSONPath ifadeleriniz tarayıcınızda test edilir. BroBroGo'ya hiçbir şey yüklenmez.

SSS

Hangi JSONPath sözdizimini kullanabilirim?

$.store.book[*].title gibi yaygın JSONPath kalıplarını, $..price ile özyinelemeli aramaları, [?@.price < 10] gibi filtreleri ve dizi dilimlemelerini (slice) kullanabilirsiniz.

Neden her sonuç bir yol (path) gösteriyor?

Yol, değerin kaynak JSON içindeki konumunu gösterir; böylece konumunu kaybetmeden bir eşleşmeyi kopyalayabilirsiniz.

Bir sorgu neden zaman aşımına uğrayabilir?

Çok geniş özyinelemeli (recursive) sorgular veya devasa örnekler çok uzun sürebilir. Test aracı, ifadeyi daraltabilmeniz veya daha küçük bir örnek kullanabilmeniz için bunları kısa bir süre sonra durdurur.

JSONPath Sözdizimi ve Yaygın Kullanım Kalıpları

JSONPath, XML belgelerinde kullanılan XPath dilinin JSON verilerine uyarlanmış halidir. JSON verileri içinde belirli düğümleri, dizileri ve değerleri sorgulamak için standart bir sözdizimi sunar. Bu sözdiziminin temel bileşeni, kök nesneyi temsil eden $ sembolüdür.

JSONPath ifadelerinde en sık kullanılan kalıplar şunlardır:

  • Doğrudan Erişim: Nokta notasyonu ile nesne özelliklerine erişilir. Örneğin, $.store.book ifadesi doğrudan ilgili nesneyi seçer.
  • Özyinelemeli Arama (Recursive Descent): $..price ifadesinde olduğu gibi .. operatörü kullanılarak, JSON yapısının derinliği ne olursa olsun belirtilen anahtara sahip tüm elemanlar taranır ve bulunur.
  • Dizi Dilimleme (Array Slices): Dizilerdeki belirli aralıkları seçmek için kullanılır.
  • Filtre İfadeleri: [?@.price < 10] gibi mantıksal filtreler yardımıyla, yalnızca belirli koşulları sağlayan veriler süzülür.

JSON Yapılarından Veri Seçimi ve Filtreleme

JSONPath ifadeleri, karmaşık ve iç içe geçmiş JSON nesnelerinden nokta atışı veri çekmeyi sağlar. API geliştiricileri, veri mühendisleri ve test uzmanları, büyük veri yığınları arasından sadece ihtiyaç duydukları alanları ayıklamak için bu sorgulardan yararlanırlar.

Özellikle derinlemesine dallanan nesnelerde, her bir seviyeyi tek tek yazmak yerine özyinelemeli arama (..) kullanılarak doğrudan hedef anahtara ulaşılabilir. Benzer şekilde, dizi elemanları üzerinde filtreleme yapılarak sadece belirli bir fiyat eşiğinin altındaki ürünler veya belirli etiketlere sahip nesneler dinamik olarak listelenebilir.

JSON ve JSONPath Doğrulama Kuralları

Sorguların doğru sonuç verebilmesi için hem girdi olarak verilen JSON verisinin hem de yazılan JSONPath ifadesinin biçimsel olarak hatasız olması gerekir. JSONPath Test Aracı, girdileri gerçek zamanlı olarak kontrol eder ve olası hatalarda kullanıcıyı bilgilendirir:

  • Girdi olarak verilen JSON verisi yapısal olarak bozuksa ekranda Bu JSON geçerli değil. uyarısı gösterilir.
  • Yazılan sorgu sözdizimi kurallarına uymuyorsa Bu JSONPath ifadesi geçerli değil. hatası verilir.
  • Sözdizimi doğru olmasına rağmen sorgu çalıştırılamıyorsa Bu JSONPath değerlendirilemedi. mesajı belirir.

Bu anlık geri bildirimler, hatalı sorguların veya bozuk veri yapılarının hızlıca tespit edilmesini sağlar.

Büyük Veri Kümeleri ve Karmaşık Sorguların Yönetimi

Büyük JSON dosyaları veya aşırı geniş kapsamlı özyinelemeli sorgular tarayıcı performansını etkileyebilir. Bu durumların önüne geçmek amacıyla araç üzerinde belirli sınırlandırmalar ve kurallar uygulanır:

  • Karakter Sınırları: JSON girdi alanı en fazla 500,000 karakter kabul eder. Bu sınır aşıldığında Bu JSON burada test etmek için çok büyük. Daha küçük bir örnek deneyin. uyarısı gösterilir. JSONPath sorgu alanı ise en fazla 4,000 karakter uzunluğunda olabilir; sınır aşımında Bu JSONPath ifadesi burada test etmek için çok uzun. hatası verilir.
  • Zaman Aşımı: Sorgunun çalışması çok uzun sürerse sistem değerlendirmeyi durdurur ve Bu JSONPath sorgusunun çalışması çok uzun sürdü. İfadeyi daraltın veya daha küçük bir örnek kullanın. uyarısını görüntüler.
  • Sonuç Sınırı: Araç en fazla 200 sonuç listeler. Eşleşme sayısı bu sınırı geçtiğinde Eşleşme: 200+ bilgisiyle birlikte İlk {max} kayıt gösteriliyor. notu ekrana gelir.

API Geliştirme ve Test Süreçlerinde JSONPath

Modern web servislerinde ve API entegrasyonlarında veri alışverişi çoğunlukla JSON formatında gerçekleşir. API yanıtlarının doğrulanması, uç noktalardan (endpoint) dönen verilerin test edilmesi ve belirli alanların doğruluğunun kontrol edilmesi süreçlerinde JSONPath kritik bir rol oynar.

Bu araç, API geliştiricilerinin ve test uzmanlarının yazdıkları sorguları canlı sistemlere entegre etmeden önce doğrulamalarına olanak tanır. Sorgu sonucunda elde edilen her eşleşme, kaynak JSON içindeki tam yolu ile birlikte listelenir. Bu sayede kullanıcılar, verinin orijinal konumunu kaybetmeden doğrudan ilgili değeri kopyalayabilirler. Giriş alanları temizlendiğinde ise ekranda Temizlendi. bilgisi gösterilir.

Veri Gizliliği ve Tarayıcı İçi İşlem

JSONPath Test Aracı üzerinde gerçekleştirdiğiniz tüm işlemler yerel olarak yürütülür. Yapıştırdığınız JSON verileri ve yazdığınız JSONPath ifadeleri tarayıcınızda test edilir. BroBroGo'ya hiçbir şey yüklenmez. Bu çalışma prensibi sayesinde verileriniz bilgisayarınızdan dışarı çıkmaz.

Sıkça Sorulan Sorular

Hangi JSONPath sözdizimini kullanabilirim?

$.store.book[*].title gibi yaygın JSONPath kalıplarını, $..price ile özyinelemeli aramaları, [?@.price < 10] gibi filtreleri ve dizi dilimlemelerini (slice) kullanabilirsiniz.

Neden her sonuç bir yol (path) gösteriyor?

Yol, değerin kaynak JSON içindeki konumunu gösterir; böylece konumunu kaybetmeden bir eşleşmeyi kopyalayabilirsiniz.

Bir sorgu neden zaman aşımına uğrayabilir?

Çok geniş özyinelemeli (recursive) sorgular veya devasa örnekler çok uzun sürebilir. Test aracı, ifadeyi daraltabilmeniz veya daha küçük bir örnek kullanabilmeniz için bunları kısa bir süre sonra durdurur.

Sorgu sonucunda hiçbir veri listelenmiyorsa ne anlama gelir?

Yazdığınız JSONPath ifadesi geçerli olmasına rağmen, girdiğiniz JSON verisi içerisinde bu ifadeyle eşleşen herhangi bir düğüm veya değer bulunamadığında ekranda Eşleşme bulunamadı. uyarısı gösterilir.