🔍
JSONPath Sorgu Aracı
JSONPath ifadeleriyle JSON verisini sorgulayın ve çıkarın
JSON Girdisi
JSONPath
Örnekler: $.store.book[0].title, $.store.book[*], $..author❓JSONPath Nedir
JSONPath, XML için XPath'e benzer şekilde JSON için bir sorgu dilidir. Yol ifadeleriyle karmaşık JSON yapılarında gezinmek ve veri çıkarmak için standart bir sözdizimi sunar. JSONPath, kök nesneyi temsil etmek için $ kullanır; alt öğelere erişim için ., dizinleme için [], joker için *, özyinelemeli arama için .. operatörünü sağlar. Filtreleri [?(@.property > value)], dizi dilimlemeyi [start:end:step] ve çoklu seçicileri destekler. JSONPath; API testleri, veri dönüşümleri, konfigürasyon sorguları ve JSON manipülasyonunda yaygın olarak kullanılır; derinlemesine iç içe geçmiş JSON yapılarından belirli değerleri karmaşık JavaScript kodu yazmadan çıkarır.
✨Özellikler
🔍
Gelişmiş Sorgu Sözdizimi
Joker (*), özyinelemeli arama (..), dizi dilimleme ([start:end]), filtreler ([?(@.price < 10)]) ve çoklu yol seçicileri dahil JSONPath sözdiziminin tamamını destekler
📋
Yol İfadesi Şablonları
Yaygın sorgular için hazır şablonlar: kök erişimi ($), doğrudan alt öğe ($.key), dizi öğeleri ($.arr[*]), filtreli öğeler ($.arr[?(@.id)]), özyinelemeli arama ($..key)
✨
Gerçek Zamanlı Önizleme
Sorguları anında çalıştırın; sözdizimi vurgulu JSON giriş/çıkış, eşleşen yolları gösterme, sonuç sayısını sunma ve kaynak JSON'da eşleşen düğümleri vurgulama desteği
💾
Sonuç Dışa Aktarma
Sorgu sonuçlarını JSON (dizi veya tek değer), tablo verisi için CSV veya biçimlendirilmiş metin olarak tek tıklamayla kopyalayıp indirin
🎯
Use Cases
CODE
Development workflow
Use JSONPath Query Tool during implementation to generate, inspect, format, or verify technical assets without switching to heavier project tooling.
REVIEW
Code review and cleanup
JSONPath Query Tool helps review copied snippets, generated files, configuration fragments, and implementation details before they are committed or shared.
DOC
Technical documentation
Turn practical examples from JSONPath Query Tool into clearer pull requests, runbooks, onboarding notes, and API or SDK documentation.
📋Kullanım Rehberi
JSON Verisini Girin
Sorgulamak istediğiniz JSON verisini yapıştırın veya yükleyin
JSONPath Yazın
JSONPath ifadesi girin veya yaygın desenler için şablonları kullanın
Sorguyu Çalıştırın
Sözdizimi vurgulu eşleşmeleri görmek için sorguyu çalıştırın
Sonuçları Dışa Aktarın
Çıkarılan veriyi tercih ettiğiniz formatta kopyalayın veya indirin
📚Teknik Tanıtım
📝JSONPath Sözdizimi
JSONPath ifadeleri $ (kök nesne) ile başlar ve erişim için nokta ($.property) veya köşeli parantez ($['property']) notasyonu kullanır. Alt düğümler . ayıracıyla belirtilir ($.store.book), diziler [index] veya tüm öğeler için [*] kullanır. Dizi dilimleme [start:end:step], [0:3] (ilk 3 öğe) veya [-1] (son öğe) gibi aralıkları çıkarır. Özyinelemeli arama operatörü .. tüm seviyeleri tarar; $..author, derinlikten bağımsız tüm author alanlarını bulur. Birlik operatörü [,], birden fazla öğeyi seçer: $[0,2,5] belirli dizi indekslerini döndürür.
🔍Filtre İfadeleri
Filtreler, koşula uyan öğeleri seçmek için [?(@.koşul)] sözdizimini kullanır. @, yinelemedeki mevcut düğümü temsil eder. Karşılaştırma operatörleri: ==, !=, <, <=, >, >=. Mantıksal operatörler: && (ve), || (veya), ! (değil). Örnekler: [?(@.price < 10)] fiyatı 10'dan küçük öğeleri seçer; [?(@.category == 'fiction' && @.price < 20)] koşulları birleştirir. Regex eşleme: [?(@.name =~ /pattern/)] düzenli ifadeyle filtreler. Filtreler, hiyerarşi genelinde karşılaştırma yapmak için $ ile köke referans verebilir: [?(@.price < $.maxPrice)].
🔧Uygulama Varyasyonları
JSONPath, sözdiziminde küçük farklılıklara sahip birçok uygulamaya sahiptir: Goessner'ın orijinali (JavaScript), Jayway (Java), jsonpath-ng (Python). Farklılıklar filtre operatörleri (@ ve $ kullanımı), regex desteği, betik ifadeleri ve fonksiyon uzantılarını içerir. Bazı uygulamalar @.length, @.min(), @.max() gibi fonksiyonlar ekler. [(@.price * @.quantity)] tarzı ifadeler hesaplama yapmayı sağlar. ^ (parent) ve ~ (mevcut yol) gibi operatörler bağlam sunar. Hedeflediğiniz uygulamanın desteklediği özellikleri ve sözdizimi nüanslarını dokümantasyondan kontrol edin.
🎯Pratik Kullanım Alanları
JSONPath, REST API yanıtlarından belirli alanları tam deserializasyon yapmadan çıkarmada ustadır. Konfigürasyon yönetimi, iç içe geçmiş yapılandırma değerlerini sorgulamak ve güncellemek için JSONPath kullanır. Veri dönüştürme hatları kaynak JSON'u hedef şemalara eşlemek için JSONPath'ten faydalanır. Postman, REST Assured gibi test çerçeveleri JSONPath doğrulamalarıyla yanıt yapısını ve değerleri kontrol eder. Log analizi JSON formatlı kayıtlardan ilgili alanları çıkarır. GraphQL ve OpenAPI araçları şema gezinimi ve doğrulama için JSONPath kullanır. Performans açısından büyük JSON'larda akış ayrıştırıcılarını veya veritabanlarını (MongoDB sorgu sözdizimi, PostgreSQL jsonb_path_query) düşünün.
❓
Sıkça Sorulan Sorular
❓
Neden sonuç boş geliyor?
Path ifadesinin $ ile başladığını, anahtar adlarının doğru olduğunu ve dizi indekslerinin geçerli aralıkta kaldığını kontrol edin. Önce basit bir path ile doğrulayın.
💬
Her derinlikte anahtar nasıl aranır?
Özyinelemeli arama operatörü .. kullanın: $..author tüm seviyelerde arar.
🔍
Filtre nasıl yazılır?
[?(@.price < 10)] biçimini kullanın. @ mevcut öğeyi temsil eder; koşulları && ve || ile birleştirebilirsiniz.
💡
Boş sonuç ile null farkı nedir?
Boş sonuç eşleşme yok demektir; null ise eşleşen değerin null olduğunu ifade eder. JSON ve ifadenizi yeniden kontrol edin.
📚
Büyük JSON'larda performans önerisi?
.. kullanımını azaltın; önce kapsamı daraltın sonra filtreleyin. Gerekirse streaming/serverside işleme düşünün.
🔗İlgili Dokümanlar
📦Önerilen Bileşenler
🛠️jsonpath-object-transformJSONPath ifadelerini kullanarak JSON verilerini başka şemalara dönüştürmenizi sağlayan araç.
User Comments
Loading...