Ga naar inhoud
100% lokaal

JSONPath-extractor

Extraheer overeenkomende waarden uit een JSON-document met een JSONPath- of JSON-Pointer-expressie.

Invoer
Uitvoer

JSONPath-extractor

Plak een JSON-document, schrijf een query en dit hulpmiddel retourneert alleen de waarden die overeenkomen — zonder dat u een script hoeft te schrijven of een REPL hoeft te openen om één veld uit een grote gegevensstructuur te extraheren. Het ondersteunt twee querystijlen: JSONPath-expressies zoals $.users[*].email en RFC 6901 JSON Pointer-verwijzingen zoals /users/0/email. Schakel ertussen over met de syntaxisoptie, afhankelijk van welke u al beschikbaar hebt uit API-documentatie, een logboekregel of een foutbericht.

JSONPath-ondersteuning omvat patronen die mensen echt gebruiken: punt- en haakjesnotatie ($.user.name of $['user name'] voor sleutels met spaties), het [*]-jokerteken om elk element van een array of elke waarde van een object uit te breiden, numerieke indices inclusief negatieve indices van het einde geteld ($.items[-1]) en .. recursieve afstamming om een sleutel op elke diepte te vinden, ongeacht hoe diep deze is genest ($..email). Filterexpressies en slicebereiken worden niet ondersteund — als uw query voorwaardelijke logica nodig heeft, extraheert u eerst de parent array en filtert u deze vervolgens stroomafwaarts.

Twee opties bepalen de uitvoer. "Lijst met regels" drukt elke gevonden waarde op zijn eigen regel — tekenreeksen worden ongewijzigd afgedrukt, objecten en arrays worden afgedrukt als compacte JSON — wat handig is om rechtstreeks met andere op regels gebaseerde hulpmiddelen zoals sort of dedupe te combineren. "JSON-array" verpakt elke overeenkomst in een enkele JSON-array, handig als u een schone, parsebare subset van het originele document wilt. Zet "Pad voor elke overeenkomst weergeven" aan om elk resultaat met het opgeloste pad voor te voegen, wat helpt wanneer meerdere verschillende velden plausibel een bepaalde waarde zouden kunnen verklaren.

Alles gebeurt lokaal in uw browser: het document dat u plakt en de expressie die u schrijft, worden nergens geüpload. Dit maakt het veilig om echte API-reacties, interne configuratie-exports of productielogfragmenten aan te sturen. De totalen onder de uitvoer geven precies aan hoeveel overeenkomsten zijn gevonden, dus een onverwacht leeg resultaat is gemakkelijk te onderscheiden van een query die stil niets heeft geretourneerd.

FAQ

Wat is het verschil tussen JSONPath en JSON Pointer?
JSONPath-expressies zoals $.users[*].email kunnen tegelijkertijd veel waarden matchen met behulp van jokertekens en recursieve afstamming. JSON Pointer-verwijzingen zoals /users/0/email verwijzen altijd naar hooguit één waarde — het is een eenvoudiger, meer letterlijk adresseringsschema, gebruikelijk in JSON Schema en HTTP PATCH-payloads.
Welke JSONPath-functies worden ondersteund?
Punt- en haakjesnotatie, het [*]-jokerteken, numerieke array-indices (inclusief negatieve) en .. recursieve afstamming voor een sleutel op elke diepte. Filterexpressies zoals [?(@.price<10)] en slicebereiken zoals [0:2] worden niet ondersteund.
Wat gebeurt er als mijn expressie niets aansluit?
U krijgt een leeg resultaat en een totaal van 0 overeenkomsten — dit wordt niet als fout behandeld. Een fout wordt alleen weergegeven voor ongeldige JSON-invoer of een slecht geformeerde expressie.
Kan ik zien waar elke waarde vandaan komt?
Schakel "Pad voor elke overeenkomst weergeven" in en elk resultaat wordt voorafgegaan door het exacte pad waar het werd gevonden, in dezelfde syntaxis als de query — JSONPath-paden zoals $.users[0].email of de originele pointer voor JSON Pointer-queries.
Wordt mijn JSON-document ergens geüpload?
Nee. Parsering en query-verwerking gebeuren volledig in uw browser — het document en de expressie verlaten uw apparaat nooit.