İçeriğe atla
SPCX Tools

JSONPath Test Aracı

JSONPath ifadelerinizi tarayıcınızda anında JSON verileriniz üzerinde test edin ve değerlendirin.

Yerel çalışır — dosyalarınız cihazınızdan dışarı çıkmaz

Araç yükleniyor…

JSONPath Test Aracı nasıl kullanılır

  1. 1JSON verinizi sol giriş paneline yapıştırın veya yazın, ya da örnek verileri yüklemek için "Örnek" düğmesine tıklayın.
  2. 2Sayfanın üst kısmındaki giriş alanına JSONPath ifadenizi girin.
  3. 3Yaygın sorgu kalıplarını çalışırken görmek için giriş alanının altındaki hızlı örnek düğmelerinden birine tıklayın.
  4. 4Eşleşen sonuçları, toplam eşleşme sayısını ve eşleşen öğelerin tam yollarını sağ panelde görüntüleyin.

Hızlı ve gizlilik odaklı JSONPath test aracı

Büyük veya derinlemesine iç içe geçmiş JSON verileriyle çalışırken, tam olarak ihtiyacınız olan bilgiyi ayıklamak zahmetli olabilir. Bu JSONPath test aracı; sorgularınızı yazmak, test etmek ve hataları ayıklamak için canlı bir ortam sunar. Siz ifadenizi yazarken araç bunu JSON veriniz üzerinde anında işler; hem ayıklanan değerleri hem de bu değerlerin bulunduğu tam yolları gösterir.

Bu araç tamamen istemci tarafında (client-side) çalışan bir JSONPath test aracı olduğundan, tüm işlemler yerel olarak cihazınızda gerçekleşir. JSON verileriniz hiçbir zaman bir sunucuya gönderilmez. Bu sayede veri sızıntısı veya gizlilik ihlali endişesi taşımadan; canlı ortam (production) API yanıtlarını, veritabanı çıktılarını veya hassas yapılandırma dosyalarını araca güvenle yapıştırabilirsiniz.

Geliştiriciler için temel özellikler

  • Canlı test: JSON verinizi veya sorgunuzu değiştirdiğiniz anda sonuçlar güncellenir. Herhangi bir butona tıklamanıza veya sunucu yanıtı beklemenize gerek yoktur.
  • Güvenli ayrıştırma: Araç, sorgularınızı işlemek için güvenli bir motor (eval: 'safe') kullanır; karmaşık filtre ifadelerini eksiksiz desteklerken kötü amaçlı kodların çalıştırılmasını engeller.
  • Path ayıklama: Araç, eşleşen değerleri göstermenin yanı sıra her eşleşme için mutlak yolları (absolute path) da oluşturur. Bu özellik, ilgili düğümleri daha sonra programatik olarak güncellemeniz gerektiğinde son derece faydalıdır.
  • Hazır örnekler: JSONPath sözdizimine yeniyseniz, örnek bir kitapçı veri setini yükleyebilir ve farklı operatörlerin nasıl çalıştığını görmek için önceden yazılmış çeşitli ifadeleri inceleyebilirsiniz.

JSONPath sorgusu nasıl yazılır

JSONPath, JSON nesneleri ve dizileri içinde gezinmek için özel bir sözdizimi kullanır. JSONPath ifade mantığını test etmek istiyorsanız, temel operatörleri anlamanız faydalı olacaktır:

  • $, kök nesneyi veya diziyi temsil eder. Her mutlak JSONPath ifadesi bu sembolle başlar.
  • @, işlenen geçerli düğümü temsil eder. Genellikle filtre ifadelerinin içinde kullanılır.
  • . veya [], özellikleri seçmek için kullanılan alt öğe operatörleridir. Örneğin, $.store.book ve $['store']['book'] aynı işlevi görür.
  • .. özyinelemeli (recursive) arama operatörüdür. Ne kadar iç içe geçmiş olursa olsun, JSON ağacının herhangi bir yerindeki belirli bir anahtarı arar (örn. $..price tüm fiyatları bulur).
  • *, bir nesne veya dizideki tüm öğelerle eşleşen bir joker karakterdir. Örneğin, $.store.*, store nesnesinin doğrudan içindeki her şeyi seçer.
  • [?()] bir filtre ifadesi uygular. İçinde standart mantıksal operatörleri kullanabilirsiniz. Örneğin, $..book[?(@.author == 'Nigel Rees')] ilgili yazar tarafından yazılmış tüm kitapları bulur.
  • [start:end:step], Python'a benzer şekilde dizileri dilimlemenizi (slice) sağlar. $.store.book[-1:] dizideki son kitabı seçer.

Yaygın kullanım alanları

API geliştirme ve hata ayıklama. Modern REST ve GraphQL API'leri genellikle büyük boyutlu JSON verileri döndürür. Yanıtı ayrıştırmak ve incelemek için geçici kodlar yazmak yerine, veriyi bu çevrimiçi JSONPath aracına yapıştırarak veri yapısının doğruluğunu ve sorgularınızın doğru alanları çıkardığını hızlıca teyit edebilirsiniz.

Otomatik testler. Entegrasyon testleri veya uçtan uca testler (Postman, RestAssured veya Playwright gibi araçlarla) yazarken, genellikle bir JSON yanıtında belirli değerlerin bulunduğunu doğrulamanız gerekir. Bir jsonpath test aracı kullanmak, sorgu dizenizi test kodlarınıza kalıcı olarak eklemeden önce kusursuz hale getirmenize yardımcı olur.

Veri çıkarma ve dönüştürme. Veri taşıma (migration) işlemleri yapıyor veya ETL (Extract, Transform, Load) süreçleri oluşturuyorsanız, genellikle belirli dizileri veya nesneleri izole etmeniz gerekir. Hedef verinizi çıkarmak için gereken tam yolları bulmak amacıyla bu aracı kullanabilirsiniz. Kaynak veriniz XML formatındaysa önce XML to JSON dönüştürücüsünü kullanabilir, küçültülmüş (minified) veriyi incelemeden önce biçimlendirmeye ihtiyaç duyarsanız JSON Formatter aracından faydalanabilirsiniz. Ayrıca, verilerinizin dönüşümden önce ve sonra nasıl değiştiğini görmek için JSON Compare aracını da kullanabilirsiniz.

Sıkça sorulan sorular

JSONPath nedir?
JSONPath, XPath'in XML için kullanılmasına benzer şekilde, JSON verileri için bir sorgu dilidir. Kısa bir dize ifadesi kullanarak karmaşık bir JSON yapısından belirli düğümleri, dizileri veya değerleri seçmenize ve ayıklamanıza olanak tanır.
JSON verilerim güvende mi?
Evet. Bu araç tamamen tarayıcınızda yerel olarak çalışır. JSON verileriniz ve sorgularınız hiçbir sunucuya yüklenmez; bu da onu hassas API yanıtlarını, yapılandırma dosyalarını veya özel verileri test etmek için tamamen güvenli hale getirir.
Verileri belirli bir koşula göre nasıl filtrelerim?
[?(@.property == 'value')] sözdizimi ile bir filtre ifadesi kullanabilirsiniz. Örneğin, $.store.book[?(@.price < 10)] ifadesi, store dizisindeki fiyatı 10'dan küçük olan tüm kitapları getirecektir.
Eşleşen öğelerin tam konumunu görebilir miyim?
Evet. Ana sonuç çıktısının altında genişletilebilir bir "Paths" bölümü bulunur. Burayı açtığınızda, sonuç kümenizdeki eşleşen her bir öğenin tam ve mutlak JSONPath'i görüntülenir.
Neden "Geçersiz JSON" hatası alıyorum?
JSON katı bir format gerektirir. Tüm anahtarlarınızın ve dize değerlerinizin tek tırnak değil, çift tırnak içine alındığından ve bir nesne veya dizideki son öğeden sonra virgül bulunmadığından emin olun.
Bu araç hangi JSONPath spesifikasyonunu kullanıyor?
Bu araç, orijinal JSONPath spesifikasyonunu tam olarak desteklerken daha karmaşık sorgular için birkaç güvenli ve gelişmiş özellik ekleyen popüler jsonpath-plus kütüphanesini kullanır. İfadeleri, JavaScript eval() fonksiyonunu kullanmadan güvenli bir şekilde değerlendirir.