Plak gewoon je verwachte JSON schema definitie aan de linkerkant en de werkelijke API response JSON aan de rechterkant. De tool vergelijkt automatisch beide structuren, nauwkeurig validerend van data types, required fields, regex patronen en meer. Dit is een essentiële stap voor API contract testing en het waarborgen van frontend-backend datastructuur consistentie.
De tool volgt volledig de JSON Schema Draft-07 standaard. Het ondersteunt basis type checking (type), required fields (required), property definities (properties), regex pattern matching (pattern), format validatie (format), enum values (enum) en krachtige combinatie logica validatie (allOf, anyOf, oneOf, not).
Wanneer JSON data niet overeenkomt met het schema, genereert de tool een uiterst gedetailleerd error rapport. Het wijst nauwkeurig het falende JSON pad aan, het specifieke error type (zoals type mismatch of ontbrekend required field) en de bijbehorende schema regel — wat de debugging efficiëntie voor backend ontwikkeling en data cleaning aanzienlijk verbetert.
Voor ETL data cleaning of data ingestie kun je deze tool gebruiken om te verifiëren of data voldoet aan vooraf gedefinieerde schema specificaties. Dit onderschept effectief vuile data en anomalieën, waarborgend de datakwaliteit die databases of downstream systemen binnenkomt — een cruciale stap in het bouwen van robuuste data pipelines.
Nee. Alle JSON Schema Validator verwerking gebeurt volledig lokaal in je browser. Of het nu gaat om core enterprise API datastructuren of persoonlijke bedrijfsdata, niets wordt ooit geüpload naar een server, waarborgend enterprise-level privacy bescherming voor je data.
De onderstaande tabel geeft de meest gebruikte validatie-trefwoorden in de JSON Schema-specificatie weer, gegroepeerd per categorie voor snelle referentie.
| Trefwoord | Beschrijving |
|---|---|
| Basistypen | |
type | Specificeer datatype: string, number, integer, boolean, array, object, null. Ondersteunt enkel type of array van typen. |
| Objectvalidatie | |
properties | Definieer subschema's voor objecteigenschappen. |
required | Stringarray die aangeeft welke eigenschappen verplicht zijn. |
additionalProperties | Bepaal of extra eigenschappen die niet in properties zijn gedefinieerd zijn toegestaan; kan false zijn of een schema. |
propertyNames | Schema waar eigenschapnamen aan moeten voldoen (gebruikt vaak pattern regex). |
minProperties | Minimum aantal eigenschappen dat een object moet bevatten. |
maxProperties | Maximum aantal eigenschappen dat een object mag bevatten. |
| Enums & Constanten | |
enum | Array met toegestane waarden; data moet exact één waarde uit de array zijn. |
const | Constante waarde; data moet strikt gelijk zijn aan deze waarde. |
| Numerieke Beperkingen | |
minimum | Minimale numerieke waarde (inclusief). |
maximum | Maximale numerieke waarde (inclusief). |
exclusiveMinimum | Waarde moet strikt groter zijn dan (exclusief). |
exclusiveMaximum | Waarde moet strikt kleiner zijn dan (exclusief). |
multipleOf | Waarde moet een veelvoud zijn van het opgegeven getal. |
| Stringbeperkingen | |
minLength | Minimale stringlengte. |
maxLength | Maximale stringlengte. |
pattern | Reguliere expressie; string moet aan dit patroon voldoen. |
format | Semantische formaatvalidatie: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc. |
| Arraybeperkingen | |
items | Schema voor array-elementen (enkel schema van toepassing op alle elementen). |
minItems | Minimum aantal array-elementen. |
maxItems | Maximum aantal array-elementen. |
uniqueItems | Of array-elementen uniek moeten zijn. |
contains | Minstens één array-element moet aan dit schema voldoen. |
| Combinatorische Logica | |
allOf | Data moet aan alle subschema's voldoen (logische EN). |
anyOf | Data moet aan minstens één subschema voldoen (logische OF). |
oneOf | Data moet aan exact één subschema voldoen (XOR). |
not | Data mag NIET aan dit schema voldoen (logische NIET). |
| Conditionele Validatie | |
if | Conditioneel schema; als data overeenkomt met if, moet aan then worden voldaan; anders moet aan else worden voldaan. |
then | Schema waaraan moet worden voldaan als de if-voorwaarde geldt. |
else | Schema waaraan moet worden voldaan als de if-voorwaarde niet geldt. |
| Verwijzingen & Hergebruik | |
$ref | Verwijs naar andere schemadefinities; ondersteunt lokale verwijzingen (#/$defs/xxx) en externe verwijzingen. |
$defs | Definieer herbruikbare subschema's (Draft 2019-09+; oudere versies gebruiken definitions). |
definitions | Trefwoord voor herbruikbare subschema's in Draft 4-7. |
| Metadata | |
title | Schematitel (annotatie, niet gevalideerd). |
description | Schemabeschrijving (annotatie, niet gevalideerd). |
default | Standaardwaarde (annotatie, niet gevalideerd). |
examples | Array met voorbeeldwaarden (annotatie, niet gevalideerd). |
$schema | Specificeer de gebruikte JSON Schema-specificatieversie. |
| Afhankelijkheden | |
dependentRequired | Eigenschapsafhankelijkheid: wanneer een eigenschap bestaat, moeten andere eigenschappen ook bestaan (Draft 2019-09+). |
dependencies | Afhankelijkheidstrefwoord in Draft 4-7 voor zowel eigenschaps- als schema-afhankelijkheden. |
JSON Schema is geëvolueerd via meerdere Draft-versies. Draft 7 is momenteel de meest gebruikte versie; Draft 2020-12 is de nieuwste stabiele release.
| Functie | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| type-validatie | ✓ | ✓ | ✓ | ✓ | ✓ |
| verplichte velden | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | booleaans | getal | getal | getal | getal |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| pattern regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| formaatvalidatie | ✓ | ✓ | ✓ | standaard annotatie | standaard annotatie |
| items array | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| $ref-verwijzingen | ✓ | ✓ | ✓ | ✓ | ✓ |
| $defs hergebruik | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| prefixItems tuples | arrayvorm | arrayvorm | arrayvorm | arrayvorm | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |