JSONPath is een expressietaal voor het opvragen en extraheren van gegevens uit JSON-structuren. Geïnspireerd door XPath voor XML biedt het een manier om de JSON-hiërarchie te doorlopen en velden of waarden nauwkeurig te lokaliseren, vergelijkbaar met hoe SQL-query's databases bevragen. Het is een onmisbaar hulpmiddel geworden voor ontwikkelaars en testers die met API's en JSON-gegevens werken.
Het fundamentele concept van JSONPath is het gebruik van padexpressies om door de JSON-boomstructuur te navigeren. Het wortelsymbool $ vertegenwoordigt het startpunt, vervolgens benadert de puntoperator . onderliggende eigenschappen, en vierkante haken [] benaderen array-elementen op positie. De expressie $.store.book[0].title begint bijvoorbeeld bij de wortel, benadert het store-object, vervolgens de book-array, neemt het eerste element en retourneert de waarde van het title-veld.
Voor arrays ondersteunt JSONPath verschillende toegangsmodi: eenvoudige numerieke indices zoals [0] voor het eerste element, negatieve indices [-1] voor het laatste element zonder de arraylengte te kennen, joker * om met alle elementen overeen te komen, en slice-syntaxis [start:end] voor het extraheren van bereiken van opeenvolgende elementen. Deze functies dekken de overgrote meerderheid van array-toegangsbehoeften in veelvoorkomende scenario's.
De jokeroperator * kan worden gebruikt om met elke eigenschap of elk element overeen te komen. $.store.* retourneert bijvoorbeeld alle directe velden in store, en $.store.book[*] retourneert alle elementen in de book-array. Dit is vooral handig om alle onderliggende elementen te doorlopen zonder expliciete veldnamen te kennen.
De filterfunctie ?() is een krachtig mechanisme voor conditionele gegevensselectie. In filters vertegenwoordigt @ het huidige knooppunt, en vergelijkingsoperatoren ==/!=/>/</>=/<= kunnen worden gebruikt om elementen op voorwaarde te filteren. $.store.book[?(@.price < 10)] selecteert bijvoorbeeld alle boeken in de book-array waarvan de prijs lager is dan 10: erg handig om snel subsets van gegevens te extraheren die aan criteria voldoen.
Deze tool integreert verschillende functies om de gebruikerservaring te verbeteren: CodeMirror-editor met professionele syntaxismarkering, dubbele weergave JSON/tabel voor aanpasbare resultaatpresentatie, 8 ingebouwde voorbeelden voor snelle start, automatische reparatie van veelvoorkomende JSON-fouten, 400ms debounce voor vloeiende uitvoering tijdens het typen, sneltoetsen voor efficiëntie en 200 lokale geschiedenisitems om eerdere expressies op te halen.
Alle verwerking vindt lokaal plaats in de browser: JSON en query-expressies worden nooit naar servers verzonden, waardoor absolute privacy van gevoelige gegevens zoals API-sleutels, tokens en bedrijfsinformatie wordt gegarandeerd. Dit is vooral belangrijk voor testingenieurs die API-productiereacties met gevoelige gegevens verwerken.
Deze tool implementeert een zorgvuldig geselecteerde JSONPath-syntaxis-subset die 90% van de dagelijkse gebruiksscenario's dekt: eigenschapstoegang, array-indices (positief/negatief), joker *, slice [start:end] en eenvoudige filters ?() met vergelijkingsoperatoren. Geavanceerde functies zoals recursieve afdaling (..), complexe scriptuitdrukkingen en combinaties van meerdere voorwaarden worden in deze versie niet ondersteund, waarbij stabiliteit en eenvoud voor veelvoorkomende toepassingen voorop staan.