JSONPath Tester
Teste JSONPath-Ausdrücke gegen JSON-Daten.
Über dieses Tool
JSONPath ist eine Abfragesprache für JSON-Daten, ähnlich wie XPath für XML. Das JSONPath-Testprogramm hilft Entwicklern und Datenanalysten, JSONPath-Ausdrücke zu validieren und zu debuggen, indem sie direkt gegen Beispiel-JSON-Dokumente getestet werden. Dieses Tool beseitigt Vermutungen beim Arbeiten mit APIs, Konfigurationsdateien oder komplexen Datenstrukturen, die eine genaue Pfadnavigation erfordern.
Um das Tool zu verwenden, fügen Sie Ihre JSON-Daten in das Eingabefeld ein und geben Sie einen JSONPath-Ausdruck in das Ausdrucksfeld ein. Während Sie eingeben, zeigt das Testprogramm sofort, welche Elemente Ihrem Ausdruck entsprechen, zusammen mit ihren Werten. Gängige Muster sind $. für den Rootzugriff, .property für Objekteigenschaften, [0] für Array-Indizes und [*] um alle Array-Elemente auszuwählen. Die Ergebnisse zeigen alle übereinstimmenden Pfade und Werte an, was es einfach macht, Ihre Abfrage zu verfeinern, bis sie genau das extrahiert, was Sie benötigen.
Häufig gestellte Fragen
Code-Implementierung
# 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.