JSONPath, XML için XPath'e benzer şekilde JSON yapılarından veri çıkarmak için bir sorgu ve ifade dilidir. Döngüler yazmadan veya manuel olarak gezinmeden derin iç içe geçmiş nesneler ve diziler arasında hassas şekilde gezinmenize, belirli alanları çıkarmanıza, öğeleri koşullara göre filtrelemenize ve ihtiyacınız olan veri parçalarını almanıza olanak tanır. JSONPath, 2007 yılında Stefan Gössner tarafından önerilmiş ve o zamandan beri API testi, veri analizi ve yapılandırılmış belgelerin işlenmesinde JSON ile çalışmak için fiili standart haline gelmiştir.
Bu çevrimiçi araç, doğrudan tarayıcıda JSONPath sorguları yürütmek için kullanışlı bir arayüzdür. Özellikle API test mühendisleri, veri analistleri ve karmaşık API yanıt yapıları, günlük verileri ve yapılandırma dosyalarıyla sık sık çalışan ön uç geliştiriciler için oluşturulmuştur. Kod yazmak veya hantal kitaplıklar kullanmak yerine JSON'u yapıştırabilir, bir ifade girebilir ve sonucu anında görebilirsiniz.
Araç, günlük görevlerin ezici çoğunluğunu kapsayan pratik sözdiziminin çekirdeğini destekler. Nokta yoluyla hassas özellik erişimini (örneğin, $.store.book.title), dizinin sonundan erişim için negatif indeksler dahil dizi indekslemeyi ([son öğe için -1]), herhangi bir alanla eşleştirmek için joker * karakterini, aralıkları çıkarmak için [start:end] dizi dilimlerini ve tam karşılaştırma operatörleri seti ==, !=, >, <, >=, <= ile koşullu ?() filtrelerini kullanabilirsiniz. Bu set, tipik veri çıkarma görevlerinin %90'ından fazlasını çözmek için yeterlidir.
Anahtar özelliklerden biri, sonuçların çift görünümüdür: klasik JSON görünümü ile yapılandırılmış tablo görünümü arasında geçiş yapabilirsiniz. Tablo görünümü, özellikle nesne dizileriyle çalışırken kullanışlıdır - sonuçlar sütunlar ve satırlar halinde görüntülenir; bu da görsel analiz yapmayı, değerleri karşılaştırmayı ve raporlar veya daha fazla işlem için veri hazırlamayı kolaylaştırır. Modlar arasında geçiş, yeniden sorgu yapmadan tek tıklamayla gerçekleşir.
Üretkenliği artırmak için araç, yaygın kullanım senaryolarını kapsayan 8 hazır örnek içerir. JSONPath'te yeniyseniz, herhangi bir örneği tek tıklamayla yükleyebilir, ifadenin yapısını inceleyebilir ve hemen sonucu görebilirsiniz. Giriş sırasında 400 milisaniyelik optimize edilmiş bir debounce gecikmesi kullanılır - sorgu yalnızca yazmayı bıraktığınızda yürütülür; bu, hızlı yazma sırasında gecikmeleri ve gereksiz hesaplamaları önler.
Düzenleyici, profesyonel kod çalışması sağlayan CodeMirror üzerine inşa edilmiştir: gerçek zamanlı sözdizimi vurgulama, satır numaralandırma, akıllı girintileme ve arama, değiştirme, geri alma ve yineleme için standart klavye kısayolları desteği. Araç ayrıca yerleşik otomatik JSON hata düzeltme özelliği içerir - yaygın sorunları (eksik tırnaklar, fazladan virgüller, tek tırnaklar) algılar ve sorgu için verileri hızla hazırlamanıza yardımcı olarak konumları hassas şekilde vurgular.
Tüm işleme tamamen tarayıcınızda yerel olarak gerçekleşir - hiçbir veri sunucuya gönderilmez. Bu, hassas verilerle çalışırken kritik öneme sahiptir: yetkilendirme belirteçleri, kullanıcıların kişisel verileri, dahili iş verileri veya gizli API yanıtları. Yeniden kullanım kolaylığı için son 200 sorgunun yerel geçmişi, tarayıcınızın localStorage depolama alanına otomatik olarak kaydedilir - geçmiş, sekmeyi kapattıktan sonra bile kalır.
Bu araç, Postman ve JMeter ile çalışırken yaygın olarak kullanılır: bir JSONPath ifadesini burada hızla prototipleyip hatalarını ayıklayabilir, ardından Postman testlerine (pm.response.json() için) veya JMeter'daki JSON Extractor/JSON Assertion bileşenlerine kopyalayabilirsiniz. Bu uygulamanın, günlük geliştirme senaryolarının %90'ından fazlasını kapsayan pratik sözdiziminin çekirdeğine odaklandığını belirtmek önemlidir: özyinelemeli iniş (..), betik ifadeleri ve çoklu koşul kombinasyonları şu anda desteklenmemektedir; bu, hız, güvenilirlik ve öngörülebilir davranış sağlamak için kasıtlı olarak yapılmıştır.