Ga naar inhoud
100% lokaal

JSON Schema-validator

Controleer een JSON-document aan de hand van een JSON-schema en ontvang een leesbaar, regel voor regel foutenrapport.

Invoer
JSON-schema
Uitvoer

JSON Schema-validator

Plak een JSON-document aan de ene kant en een JSON-schema aan de andere kant, en deze tool vertelt je of het document overeenkomt - en zo niet, precies waar en waarom. Elk probleem wordt gerapporteerd als één regel met het JSON Pointer-pad naar de overtredende waarde, het schema-trefwoord dat is mislukt en de werkelijke waarde die daar is gevonden, zodat u direct naar de oplossing kunt gaan in plaats van handmatig door een grote payload te moeten zoeken.

De validator omvat de dagelijkse kern van JSON Schema draft-07: "type" (inclusief union-arrays zoals ["string", "null"] voor null-velden), "required" en "properties", "additionalProperties" als een boolean of een eigen schema, "items" voor zowel lijst- als tuple-validatie, "minItems"/"maxItems"/"uniqueItems", de numerieke trefwoorden "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", de tekenreekssleutelwoorden "minLength"/"maxLength"/"pattern", "enum" en "const", en de combinatoren "anyOf"/"allOf"/"oneOf"/"not". Het lost ook "$ref"-verwijzingen op naar de eigen sectie "#/definition" of "#/$defs" van een schema - handig voor schema's die rekening houden met een gedeelde objectvorm - en detecteert een "$ref" die naar zichzelf terugkeert in plaats van de pagina te bevriezen.

Dit is een validator, geen schemagestuurde formulierbouwer: het haalt geen schema op van een URL of een "$id", en dat zal ook nooit gebeuren, omdat dat zou betekenen dat uw gegevens of uw schemadefinitie van uw apparaat worden verzonden. Elke "$ref" die buiten het document verwijst, wordt gerapporteerd als niet-ondersteund in plaats van stilzwijgend genegeerd, zodat u altijd precies weet wat wel en niet is gecontroleerd.

Alles draait lokaal in uw browser: het JSON-document en het schema worden op uw apparaat geparseerd en gecontroleerd en nooit ergens geüpload, waardoor dit veilig te gebruiken is met API-payloads, configuratiebestanden of andere JSON die gegevens bevat die u liever niet op een willekeurige website plakt.

FAQ

Welk JSON Schema-concept ondersteunt dit?
Een praktische subset van draft-07: type (inclusief union- en null-arrays), vereist, eigenschappen, aanvullende eigenschappen, items, minItems/maxItems/uniqueItems, de numerieke en tekenreeksgrenzen trefwoorden, enum/const, anyOf/allOf/oneOf/not, en lokale $ref-aanwijzers naar "#/definitions" of "#/$defs".
Kan het een $ref volgen naar een ander bestand of een andere URL?
Nee. Alleen lokale verwijzingen naar de eigen "#/definitions" of "#/$defs" van hetzelfde schema worden omgezet. Een $ref die ergens anders naar verwijst, wordt gerapporteerd als niet-ondersteund in plaats van opgehaald, omdat het ophalen van een schema op afstand zou betekenen dat gegevens van uw apparaat worden verzonden.
Wat gebeurt er als mijn schema een circulaire $ref heeft?
Het wordt gedetecteerd en gerapporteerd als een "$ref"-fout in plaats van het tabblad te bevriezen. De validator houdt de referenties bij die hij momenteel volgt en stopt zodra iemand dit herhaalt.
Hoe wordt elke fout gerapporteerd?
Eén regel per probleem, met het JSON Pointer-pad naar de waarde (zoals '/user/age'), het schema-trefwoord dat is mislukt (zoals 'minimum' of 'required') en de werkelijke waarde die daar is gevonden.
Worden mijn JSON-document en -schema ergens geüpload?
Nee. De validatie wordt volledig in uw browser uitgevoerd met behulp van de ingebouwde JSON-parser. De gegevens en het schema verlaten nooit uw apparaat en er wordt nooit een schema uit het netwerk opgehaald.