İçeriğe atla
%100 yerel

JSONPath Çıkartıcı

JSONPath veya JSON Pointer ifadesi ile JSON belgelerinden eşleşen değerleri çıkart.

Giriş
Çıkış

JSONPath Çıkartıcı

Bir JSON belgesini yapıştırın, bir sorgu yazın ve bu araç yalnızca eşleşen değerleri döndürür — büyük bir veri yapısından tek bir alanı çıkarmak için komut dosyası yazmanız veya REPL açmanız gerekmez. İki sorgu stili destekler: $.users[*].email gibi JSONPath ifadeleri ve /users/0/email gibi RFC 6901 JSON Pointer referansları. Söz dizimi seçeneği ile aralarında geçiş yapın; API belgeleri, günlük satırı veya hata raporundan hangisine sahipseniz ona göre.

JSONPath desteği insanların gerçekten kullandığı desenleri kapsar: nokta ve köşeli parantez gösterimi ($.user.name veya boşluk içeren anahtarlar için $['user name']), bir dizinin her öğesi veya bir nesnenin her değeri üzerinde yayılmak için [*] joker karakteri, negatif olanlar da dahil olmak üzere sondan sayılan sayısal dizinler ($.items[-1]) ve ne kadar derin gömülü olursa olsun herhangi bir derinlikte bir anahtar bulmak için .. özyinelemeli iniş ($..email). Filtrelenen ifadeler ve dilim aralıkları desteklenmez — sorgunuz koşullu mantık gerektiriyorsa, önce üst dizi çıkart ve sonra filtrele.

İki seçenek çıktıyı şekillendirir. "Satırların listesi" bulunan her değeri kendi satırında yazdırır — dizeler olduğu gibi yazdırılır, nesneler ve diziler kompakt JSON olarak yazdırılır — bu sort veya dedupe gibi diğer satır tabanlı araçlara doğrudan aktarmak için uygun. "JSON dizisi" her eşleşmeyi tek bir JSON dizisine sarmalanır; orijinal belgenin temiz, ayrıştırılabilir bir alt kümesini istediğinizde kullanışlıdır. "Her eşleşme için yolu göster" seçeneğini açın; böylece her sonuç önüne çözümlenen yol gelir, bu da birden fazla farklı alanın aynı değeri plausibly açıklayabileceği durumlarda yardımcı olur.

Her şey tarayıcınızda yerel olarak çalışır: yapıştırdığınız belge ve yazdığınız ifade asla hiçbir yere yüklenmez. Bu, gerçek API yanıtlarına, iç yapılandırma dışa aktarmalarına veya üretim günlüğü pasajlarına işaret etmeyi güvenli hale getirir. Çıktının altındaki toplamlar kaç eşleşme bulunduğunu tam olarak raporlar, bu nedenle beklenmedik bir boş sonuç sessizce hiçbir şey döndürmeyen bir sorgudan kolayca ayırt edilir.

FAQ

JSONPath ile JSON Pointer arasındaki fark nedir?
$.users[*].email gibi JSONPath ifadeleri joker karakterler ve özyinelemeli iniş kullanarak aynı anda birçok değerle eşleşebilir. /users/0/email gibi JSON Pointer referansları her zaman en fazla bir değere çözümlenir — bu daha basit, daha literal bir adresendirme şemasıdır, JSON Schema ve HTTP PATCH yüküne yaygındır.
Hangi JSONPath özellikleri destekleniyor?
Nokta ve köşeli parantez gösterimi, [*] joker karakteri, sayısal dizi dizinleri (negatif olanlar dahil) ve herhangi bir derinlikte anahtar için .. özyinelemeli iniş. [?(@.price<10)] gibi filtrelenen ifadeler ve [0:2] gibi dilim aralıkları desteklenmez.
İfadem hiçbir şeyle eşleşmezse ne olur?
Boş bir sonuç ve 0 eşleşme toplamı alırsınız — bu hata olarak işlenmez. Hata yalnızca geçersiz JSON girişi veya hatalı biçimlendirilmiş ifade için gösterilir.
Her değerin nereden geldiğini görebilir miyim?
"Her eşleşme için yolu göster" seçeneğini açın ve her sonuca sorguyla aynı söz diziminde bulunduğu tam yol önüne geçer — $.users[0].email gibi JSONPath yolları veya JSON Pointer sorguları için orijinal işaretçi.
JSON belgesim bir yere yükleniyor mu?
Hayır. Analiz ve sorgu işleme tamamen tarayıcınızda gerçekleşir — belge ve ifade cihazınızdan asla çıkmaz.