Naar de inhoud
snowkitDev

Valideer, bevraag en mock je JSON

Controleer een JSON-document aan een JSON-schema en zie precies welk veld fout is en waarom, probeer JSONPath-expressies met live resultaten, of zet een schema of een voorbeeld om in zoveel realistische testrecords als je nodig hebt.

Valideren tegen een schema

Je JSON en het JSON Schema waaraan het moet voldoen.

draft 2020-12 of 07

    Gecontroleerd terwijl je typt

    Controleer JSON tegen een schema, haal waarden eruit met JSONPath en maak realistische testdata, allemaal in je browser. Niets wordt geüpload, dus het is veilig voor privégegevens. Het is gratis en heeft geen account nodig.

    Hoe je de JSON-toolkit gebruikt

    1. Open het tabblad Valideren, JSONPath of Testdata. Het voorbeeld laden toont een werkende set.
    2. Valideren: plak je JSON-gegevens en een JSON Schema, druk op Beide opschonen om ze te formatteren en lees de problemen in de lijst.
    3. JSONPath: plak je JSON, typ een JSONPath-expressie en lees het resultaat. Paden tonen voegt de locatie van elke overeenkomst toe en Resultaat kopiëren neemt het mee.
    4. Testdata: plak een schema of een voorbeeldrecord (of Probeer een voorbeeldrecord), stel het aantal Records en een Seed in en kies de Uitvoer: JSON-array, NDJSON (een per regel) of CSV.
    5. Druk op Kopiëren of Downloaden.

    Wat de validator controleert

    De kernsleutelwoorden uit JSON Schema draft 2020-12 en draft 07: type, properties, required, additionalProperties, patternProperties, items en prefixItems, enum, const, getal- en lengtelimieten, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else en $ref naar lokale definities zoals #/$defs/address. Gecontroleerde formaten zijn email, uri, date, time, date-time, uuid, ipv4, ipv6 en hostname. Elk probleem wordt met zijn pad vermeld, zoals $.items[2].price, zodat je het snel kunt vinden.

    JSONPath in het kort

    $ is de root, .name kiest een sleutel, ..name zoekt op elke diepte, * komt met alles overeen, [0] en [-1] kiezen op positie en [0:3] neemt een deel. Filters zoals [?(@.price < 10)] houden items die een test doorstaan; je kunt vergelijken met ==, !=, <, >, een reguliere expressie matchen met =~ /text/i, controleren of een sleutel bestaat met [?(@.isbn)] en toetsen combineren met && en ||.

    Realistische testdata

    Plak een schema en krijg records die eraan voldoen, met getallen binnen je minimum en maximum, strings die passen bij hun lengte, patroon en formaat en waarden gekozen uit elke enum. Plak in plaats daarvan een voorbeeldrecord en zijn vorm wordt gekopieerd. Veldnamen sturen de waarden, dus email, first_name, city, price, created_at en is_active krijgen geloofwaardige inhoud en e-mailadressen komen overeen met de namen in hetzelfde record.

    Tips

    • Gebruik dezelfde seed om dezelfde testdata opnieuw te krijgen, wat tests herhaalbaar maakt.
    • Als de validatie mislukt, herstel dan de eerste fout en controleer opnieuw, want één fout kan er meerdere veroorzaken.
    • Begin met het JSONPath $..name om in een groot bestand te zoeken naar een sleutel die je kent.
    • Gebruik NDJSON-uitvoer voor tools die één record per regel lezen.

    Wie gebruikt het

    Ontwikkelaars die een API testen, analisten die velden uit een export halen en studenten die JSON leren. Verwante tools: JSON naar types, formaatconverter en verschilcontrole.

    Vragen

    Wordt mijn JSON geüpload?

    Nee. Alles draait in je browser.

    Welke schemaversies worden ondersteund?

    Draft 2020-12 en draft 07, voor de hierboven genoemde trefwoorden.

    Zijn de testdata echt?

    Nee. Het is verzonnen, dus het is veilig om te delen en te gebruiken in tests.

    Waar nu heen

    Ga verder met wat je zojuist hebt gemaakt, nog steeds op je apparaat.

    Meer van Snowkit