İçeriğe geç
🛠️ToolsShed

JSONPath Tester

JSONPath ifadelerini JSON verilerine karşı test edin.

Bu araç hakkında

JSONPath, JSON verileri için bir sorgu dilidir ve XML için XPath'e benzer. JSONPath Tester, geliştiricilerin ve veri analistlerinin JSONPath ifadelerini örnek JSON belgelerine karşı doğrudan test ederek doğrulamalarına ve hata ayıklamasına yardımcı olur. Bu araç, API'ler, yapılandırma dosyaları veya kesin yol navigasyonu gerektiren karmaşık veri yapılarıyla çalışırken tahmin etme gereksinimini ortadan kaldırır.

Aracı kullanmak için JSON verilerinizi giriş alanına yapıştırın ve JSONPath ifadesini ifade alanına girin. Yazarken, test edici hangi öğelerin ifadenizle eşleştiğini ve bunların değerlerini hemen gösterir. Yaygın desenler arasında kök erişim için $., nesne özellikleri için .property, dizi dizinleri için [0] ve tüm dizi öğelerini seçmek için [*] yer alır. Sonuçlar tüm eşleşen yolları ve değerleri görüntüler ve sorgunuzu tam olarak ihtiyacınız olan şeyi çıkarana kadar iyileştirmeyi kolaylaştırır.

Sıkça Sorulan Sorular

Kod Uygulaması

# pip install jsonpath-ng
from jsonpath_ng import parse

data = {
    "store": {
        "book": [
            {"title": "Moby Dick", "author": "Herman Melville", "price": 8.99},
            {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "price": 12.99},
            {"title": "1984", "author": "George Orwell", "price": 6.99}
        ]
    }
}

# Match all book titles
expr = parse("$.store.book[*].title")
titles = [match.value for match in expr.find(data)]
print(titles)
# ['Moby Dick', 'The Great Gatsby', '1984']

# Filter books cheaper than $10
expr2 = parse("$.store.book[?(@.price < 10)]")
cheap_books = [match.value for match in expr2.find(data)]
print(cheap_books)
# [{'title': 'Moby Dick', ...}, {'title': '1984', ...}]

# Recursive descent: find all authors anywhere in the document
expr3 = parse("$..author")
authors = [match.value for match in expr3.find(data)]
print(authors)
# ['Herman Melville', 'F. Scott Fitzgerald', 'George Orwell']

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.