Junior
Wat is een JSON-schema?
sobes.tech AI
Antwoord van AI
JSON-schema (JSON Schema) is een lexicaal standaard gebaseerd op JSON voor het beschrijven van de structuur en beperkingen van gegevens in JSON-formaat. Het maakt het mogelijk om JSON-gegevens te valideren, te beschrijven en te documenteren.
Belangrijkste doelen:
- Validatie: Controleren of een JSON-voorbeeld voldoet aan een bepaalde structuur.
- Documentatie: Beschrijven van het JSON-gegevensformaat.
- Interactie: Uitwisseling van metadata tussen systemen.
Belangrijke componenten van JSON-schema:
- Gegevenstypen:
string,number,integer,boolean,object,array,null. - Sleutelwoorden voor beperkingen:
type: Verwachte gegevenstype.properties: Beschrijving van de eigenschappen van een object. Elke eigenschap heeft zijn eigen sub-schema.required: Lijst van verplichte eigenschappen.items: Beschrijving van de elementen in een array.minLength/maxLength: Limieten voor de lengte van strings.minimum/maximum: Limieten voor nummers.pattern: Reguliere expressie voor strings.enum: Lijst van toegestane waarden.allOf/anyOf/oneOf/not: Logische combinaties van schema’s.
- Sleutelwoorden voor metadata:
title: Korte titel van het schema.description: Gedetailleerde beschrijving van het schema.default: Standaardwaarde.
Voorbeeld van een JSON-schema:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Unieke gebruikers-ID"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Voorbeeld van geldige JSON-gegevens volgens dit schema:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Voorbeeld van ongeldige JSON-gegevens volgens dit schema:
{
"id": "abc" // Verkeerd type
// Verplicht veld "username" ontbreekt
}
Gebruik van JSON-schema in QA Automation:
- Validatie van API-antwoorden: Controleren of JSON-antwoorden voldoen aan het formaat.
- Validatie van verzoeken: Controleren van inkomende JSON-gegevens vóór verwerking.
- Generatie van testgegevens: Gebruik het schema om geldige (of ongeldige) voorbeelden te maken.
- Documentatie: Automatisch onderhouden documentatie van de API.
Er zijn bibliotheken voor het werken met JSON-schema’s in verschillende programmeertalen (bijvoorbeeld jsonschema voor Python, json-schema-validator voor Java).