← Terug naar Blog

JSON Schema begrijpen: Complete gids voor validatie

Beheers JSON Schema voor datavalidatie. Leer de syntaxis, validatietechnieken en de implementatie in verschillende programmeertalen.

Big JSON Team14 min leestijdgeavanceerd
B

Big JSON Team

Technical Writer

Expert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.

14 min read

Wat is JSON Schema?

JSON Schema is een krachtig hulpmiddel voor het valideren en beschrijven van JSON-documenten. Het definieert de structuur, beperkingen en validatieregels voor uw JSON-gegevens.

Basisvoorbeeld van een Schema

{

"$schema": "https://json-schema.org/draft/2020-12/schema",

"type": "object",

"properties": {

"naam": { "type": "string" },

"leeftijd": { "type": "integer", "minimum": 0 },

"email": { "type": "string", "format": "email" }

},

"required": ["naam", "email"]

}

Belangrijke Schema-sleutelwoorden

  • type: Het datatype (string, number, object, array, boolean, null).
  • required: Opgeven welke eigenschappen verplicht zijn.
  • properties: Definities van de verschillende velden in een object.
  • minimum/maximum: Beperkingen voor getallen.
  • minLength/maxLength: Beperkingen voor de lengte van een tekst.
  • format: Vooraf gedefinieerde formaten (zoals email, uri, date).

Validatie in JavaScript (met Ajv)

import Ajv from 'ajv';

const ajv = new Ajv();

const schema = {

type: 'object',

properties: {

naam: { type: 'string' },

leeftijd: { type: 'number', minimum: 0 }

},

required: ['naam']

};

const validate = ajv.compile(schema);

const isGeldig = validate({ naam: 'Alice', leeftijd: 30 });

if (!isGeldig) {

console.log(validate.errors);

}

Validatie in Python (met jsonschema)

from jsonschema import validate, ValidationError

schema = {

"type": "object",

"properties": {

"naam": {"type": "string"},

"leeftijd": {"type": "integer", "minimum": 0}

},

"required": ["naam"]

}

data = {"naam": "Alice", "leeftijd": 30}

try:

validate(instance=data, schema=schema)

print("Geldige data!")

except ValidationError as e:

print(f"Fout: {e.message}")

Geavanceerde functies

  • $ref: Voor het herbruiken van schema-onderdelen.
  • allOf / anyOf / oneOf: Voor het combineren van verschillende schema's.
  • if / then / else: Voor voorwaardelijke validatie.

Best Practices

  • Begin met een eenvoudig schema en voeg stap voor stap complexiteit toe.
  • Gebruik herbruikbare definities voor terugkerende onderdelen (zoals een adres).
  • Zorg voor duidelijke foutmeldingen voor de gebruikers van uw API.
  • Versieer uw schema's zodat u wijzigingen kunt bijhouden zonder systemen te laten crashen.
  • Conclusie

    JSON Schema is onmisbaar voor het bouwen van robuuste API's. Het biedt niet alleen validatie, maar dient ook als uitstekende documentatie van uw datastructuur!

    Share:

    Gerelateerde Artikelen

    Read in English