Wat is een JSONPath tester?
Een JSONPath-tester evalueert een JSONPath-expressie aan de hand van een JSON-document en retourneert elke waarde die de expressie selecteert, samen met het exacte pad naar elke match. JSONPath is een zoektaal voor JSON, de manier waarop XPath een zoektaal is voor XML: je schrijft een kort pad zoals $.store.book[*].author en krijgt de lijst met overeenkomende waarden terug zonder code te schrijven. Deze tool parseert uw JSON, voert de expressie uit en toont zowel de resultaten als het genormaliseerde pad van elke.
Het punt van een tester is feedback Wanneer een JSONPath-expressie niets retourneert, of meer retourneert dan je had verwacht, is het probleem bijna altijd een klein syntaxisdetail: een ontbrekende joker, de verkeerde haakjesstijl, of een filter dat een tekenreeks vergelijkt met een getal, de query live uitvoeren tegen echte gegevens, en zien welke knooppunten het aanraakt, maakt van dat giswerk een controle van twee seconden. 't Is dezelfde reden waarom ontwikkelaars een regex-tester openhouden naast hun editor.
Alles draait in uw browser De JSON wordt geparseerd met de ingebouwde JSON-parser en de expressie wordt geëvalueerd door een kleine interpreter geschreven in JavaScript, dus er wordt niets geüpload, gelogd of opgeslagen Dat maakt uit omdat JSONPath-werk meestal gebeurt tegen API-reacties en configuratiebestanden die tokens, ID's of klantrecords bevatten, en deze tool houdt die payload op uw eigen machine en blijft offline werken zodra de pagina is geladen.
JSONPath is een conventie met meerdere implementaties in plaats van een enkele specificatie, en ze zijn het aan de randen oneens Filtersyntaxis is het minst draagbare deel, dus een expressie die in de ene bibliotheek werkt, moet mogelijk in een andere worden aangepast Recursieve afdaling is de dure bewerking: het loopt door elk knooppunt in het document, dus bij een groot bestand is een query die begint met twee punten merkbaar langzamer dan een expliciet pad.
Om het als JSONPath online evaluator te proberen, klikt u op Voorbeeld laden, vervangt u de expressie door $.store.book[? (@.price < 10)].title en klikt u op Evalueren De waardenmodus retourneert ["Sayings of the Century", "Moby Dick"] met het deelvenster gemarkeerd met 2 resultaten Schakel de uitvoer over naar paden en klik opnieuw op Evalueren, en dezelfde zoekopdracht retourneert $.store.book[0].title en $.store.book[2].title, die u vertelt dat het filter de boeken heeft overgeslagen op index 1 en 3. Verander de uitdrukking naar $price en krijg je vijf cijfers, omdat de recursie ook recursief.
Hoe de JSONPath tester gebruiken?
Plak je json
Plak een object of array in het vak JSON, of klik op Voorbeeld laden voor het boekhandelsdocument De invoer moet geldig zijn JSON; er wordt een parseerfout getoond met het eigen bericht van uw browser, waarin de positie meestal wordt benoemd zodat u deze kunt repareren.
Schrijf een JSONPath-expressie
Voer een pad in zoals $.store.book[*].title of $..price Start vanaf $ voor de root, gebruik stippen of haakjes voor kinderen en voeg filters toe zoals [?(@.price < 10)] om op waarde te selecteren.
Lees de wedstrijden
Klik op Evalueren om de expressie uit te voeren; het deelvenster Wedstrijden geeft een overzicht van elke overeenkomende waarde en toont het aantal resultaten Schakel de uitvoer naar paden of invoer en klik opnieuw op Evalueren om te zien waar elk resultaat vandaan komt.
Kopieer het resultaat
Kopieer de overeenkomende waarden, de lijst met paden of de volledige pad-en-waarde-items als JSON om in uw code, tests of documentatie te plakken.
Belangrijkste kenmerken
Volledige padsyntaxis
Root, child, recursieve afdaling (..), wildcard (*), array-index inclusief negatieve index, unies en plakjes in Python-stijl worden allemaal ondersteund, zodat de meeste gepubliceerde JSONPath-voorbeelden ongewijzigd blijven.
Expressies filteren
Selecteer knooppunten op waarde met filters zoals [?(@.price < 10 && @.category == "fictie")]. Vergelijkingsoperatoren, bestaanscontroles en && / || combinaties worden per element geëvalueerd.
Waarden, paden of vermeldingen
Zie de overeenkomende waarden, het genormaliseerde pad van elke overeenkomst, of beide samen als invoer De paduitvoer is handig voor het bouwen van de expressie die u nodig heeft.
Foutmeldingen wissen
Ongeldige JSON en verkeerd opgemaakte expressies worden afzonderlijk gerapporteerd met een specifiek bericht, zodat u weet of u de gegevens of de zoekopdracht moet repareren in plaats van naar een leeg resultaat te staren.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSON to XML
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
XML Formatter
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
Comments
0 comments
No comments yet. Be the first to share your thoughts!