JSON Schema-validator
Welkom bij onze JSON Schema Validator. Zorg ervoor dat je JSON-gegevens voldoen aan vooraf gedefinieerde schema's voor gegevensintegriteit en -consistentie. Deze tool is essentieel voor ontwikkelaars, gegevensanalisten en iedereen die met JSON-gegevens werkt.
Hoe de JSON-schemavalidator gegevens controleert
De JSON-schemavalidator controleert een JSON-document aan de hand van een JSON Schema en meldt Valid of Invalid, met de locatie van elk probleem in de vorm van een JSON Pointer, zoals /age. Een schema zonder $schema-trefwoord wordt geïnterpreteerd als draft-07.
Voor validatie wordt de Opis JSON Schema-bibliotheek gebruikt. Beide invoeren worden eerst op dezelfde manier hersteld als bij JSON Repair, zodat een afsluitende komma de controle niet tegenhoudt. Een $ref naar een schema op een andere server wordt niet gedownload en wordt gemeld als een onopgeloste verwijzing.
Uitgewerkte voorbeelden
Gegevens die overeenkomen
Beide verplichte eigenschappen zijn aanwezig en age is een niet-negatief geheel getal.
- Schema
{ "type": "object", "required": ["name", "age"], "properties": { "name": {"type": "string"}, "age": {"type": "integer", "minimum": 0} } }- JSON
{"name": "Ada", "age": 36}- Resultaat
✅ Geldig
Een waarde onder het minimum
Zelfde schema als hierboven. De fout verwijst naar /age.
- JSON
{"name": "Ada", "age": -1}- Resultaat
❌ Ongeldig
{ "/age": [ "Number must be greater than or equal to 0" ] }
Een ontbrekende verplichte eigenschap
Zelfde schema als hierboven. Een ontbrekende eigenschap wordt gemeld bij het object waarin deze moet staan, hier de hoofdmap, aangeduid als /.
- JSON
{"age": 36}- Resultaat
❌ Ongeldig
{ "/": [ "The required properties (name) are missing" ] }
Veelgebruikte trefwoorden uit draft-07
Deze trefwoorden dekken de meeste alledaagse schema's. Ze zijn allemaal gedefinieerd in de specificatie voor JSON-schemavalidatie van draft-07.
| Trefwoord | Wat het controleert | Voorbeeld |
|---|---|---|
type | Het JSON type: string, number, integer, boolean, object, array of null. | {"type": "string"} |
required | Eigenschappen die aanwezig moeten zijn in een object. | {"required": ["id"]} |
properties | Een schema voor elke benoemde eigenschap. | {"properties": {"id": {"type": "integer"}}} |
additionalProperties | Of eigenschappen die niet in properties staan, zijn toegestaan. | {"additionalProperties": false} |
enum | De waarde moet gelijk zijn aan een van de vermelde waarden. | {"enum": ["draft", "published"]} |
minimum, maximum | Inclusieve onder- en bovengrenzen voor getallen. | {"minimum": 0, "maximum": 100} |
minLength, maxLength | Grenzen voor het aantal tekens in een tekenreeks. | {"maxLength": 60} |
pattern | Een reguliere expressie waaraan de tekenreeks moet voldoen. | {"pattern": "^[a-z-]+$"} |
items | Een schema waaraan elk array-element moet voldoen. | {"items": {"type": "string"}} |
De JSON Schema Validator gebruiken
- Stap 1: Voer je JSON-gegevens in het invoerveld in.
- Stap 2: Geef het bijbehorende JSON-schema.
- Stap 3: Klik op de knop 'Validate JSON Schema' (JSON-schema valideren) om de gegevens te vergelijken met het schema.
Voordelen van het gebruik van onze JSON Schema Validator
- Gegevensintegriteit garanderen: Valideert JSON-gegevens aan de hand van schema's om de gegevenskwaliteit te handhaven.
- Consistente gegevens: Zorgt ervoor dat uw gegevens voldoen aan de verwachte structuren in verschillende applicaties.
- Gebruiksvriendelijk: Eenvoudige interface voor eenvoudige validatie.
Veelgestelde vragen
Hoe valideer ik JSON tegen een schema?
Om JSON tegen een schema te valideren, voer je je JSON-gegevens in het invoerveld in en geef je het bijbehorende JSON-schema op. Klik op de knop Valideer JSON om de gegevens te controleren aan de hand van het schema en eventuele validatiefouten weer te geven.
Wat is een JSON-schema?
Een JSON schema is een formaat voor het definiëren van de structuur, inhoud en beperkingen van JSON gegevens. Het specificeert de verwachte gegevenstypes, vereiste velden en andere validatieregels om ervoor te zorgen dat de JSON-gegevens correct geformatteerd en consistent zijn.
Waarom is JSON schema validatie belangrijk?
JSON schema validatie is cruciaal voor het waarborgen van data integriteit en consistentie tussen applicaties. Het helpt om fouten vroeg in het ontwikkelproces op te sporen, voorkomt datacorruptie en zorgt ervoor dat API's en andere systemen gegevens correct verwerken.
Kan ik complexe JSON-structuren valideren?
Ja, de JSON Schema Validator kan complexe JSON-structuren aan, inclusief geneste objecten, arrays en verschillende gegevenstypen, en zorgt voor grondige validatie tegen je schema.
Wat gebeurt er als mijn JSON-gegevens niet overeenkomen met het schema?
Als je JSON-gegevens niet overeenkomen met het schema, geeft de validator gedetailleerde foutmeldingen die de problemen aangeven. Dit helpt je bij het identificeren en herstellen van de fouten om ervoor te zorgen dat je gegevens voldoen aan de verwachte structuur.
Welke JSON Schema-versie wordt ondersteund?
De validator ondersteunt doorgaans recente JSON Schema drafts (Draft 4, Draft 6, Draft 7, 2019-09, 2020-12). Elke versie introduceert verbeterde functies en verbeterde validatiemogelijkheden, waardoor compatibiliteit met moderne schemadefinities wordt gegarandeerd.
Hoe maak ik een JSON-schema?
Definieer je verwachte JSON-structuur met behulp van JSON Schema syntaxis: specificeer vereiste eigenschappen, gegevenstypen (string, getal, boolean, array, object), beperkingen (min/max, patronen, enums) en nesting. Gebruik schemageneratoren of schrijf handmatig, test vervolgens met echte gegevens.
Vervangt schemavalidatie eenheidstesten?
Schemavalidatie vult unit tests aan, maar vervangt ze niet. Het valideert gegevensstructuur en -typen, maar geen bedrijfslogica, berekeningen of workflows. Gebruik schema validatie voor API contracten en data integriteit; unit tests voor applicatielogica en gedrag.
Hoe kan validatie API-ontwikkeling ten goede komen?
Schemavalidatie zorgt ervoor dat API-verzoeken en reacties overeenkomen met verwachte indelingen, vangt misvormde gegevens op voordat ze worden verwerkt, documenteert API-contracten duidelijk, maakt het automatisch genereren van documentatie mogelijk, ondersteunt API-versiebeheer en verbetert de betrouwbaarheid van integratie door grensvalidatie.
Wat zijn typische validatiefouten?
Veel voorkomende fouten zijn typefouten (string vs. getal), ontbrekende verplichte eigenschappen, onverwachte extra eigenschappen, waarden buiten toegestane enums, patroonfouten, schendingen van array-lengte, schendingen van getalbereik en validatiefouten bij geneste objecten met specifieke foutdetails.
Kunnen schema's formulierinvoer valideren?
Ja, JSON-schema's blinken uit in formuliervalidatie. Definieer veldtypes, verplichte velden, validatieregels, min/max-waarden en patronen in schema's. Veel formulierbibliotheken ondersteunen JSON Schema's voor declaratieve validatie, waardoor er minder handmatige validatiecode nodig is.
Hoe valideer ik arrays met behulp van schema's?
Definieer array-schema's met type: 'array', specificeer itemschema's met 'items', stel beperkingen in zoals minItems/maxItems, dwing unieke waarden af met uniqueItems en valideer geneste arraystructuren. De validator zorgt ervoor dat alle array-elementen voldoen aan de schemavereisten.
Wat is schema-first ontwikkeling?
Schema-eerst ontwikkeling definieert gegevensschema's voordat code wordt geïmplementeerd. Maak JSON-schema's die verwachte gegevensstructuren documenteren, gebruik ze om alle invoer/uitvoer te valideren, code te genereren op basis van schema's en ervoor te zorgen dat alle componenten consistente gegevenscontracten gebruiken, waardoor integratieproblemen worden verminderd.
Kunnen schema's voorwaardelijke vereisten valideren?
Ja, JSON Schema ondersteunt voorwaardelijke validatie via trefwoorden als if/then/else, dependencies, oneOf, anyOf en allOf. Deze maken complexe validatielogica mogelijk waarbij bepaalde eigenschappen alleen vereist zijn als aan specifieke voorwaarden wordt voldaan.