Junior
Was ist ein JSON-Schema?
sobes.tech KI
Antwort von AI
JSON-Schema (JSON Schema) ist ein lexischer Standard auf Basis von JSON zur Beschreibung der Struktur und Einschränkungen von Daten im JSON-Format. Es ermöglicht die Validierung, Beschreibung und Dokumentation von JSON-Daten.
Hauptziele:
- Validierung: Überprüfung, ob eine JSON-Instanz einer bestimmten Struktur entspricht.
- Dokumentation: Beschreibung des JSON-Datenformats.
- Interaktion: Austausch von Metadaten zwischen Systemen.
Wichtige Komponenten des JSON-Schemas:
- Datentypen:
string,number,integer,boolean,object,array,null. - Schlüsselwörter für Einschränkungen:
type: Erwarteter Datentyp.properties: Beschreibung der Eigenschaften eines Objekts. Jede Eigenschaft hat ihr eigenes Unter-Schema.required: Liste der erforderlichen Eigenschaften.items: Beschreibung der Elemente eines Arrays.minLength/maxLength: Längenbeschränkungen für Strings.minimum/maximum: Beschränkungen für Zahlen.pattern: Regulärer Ausdruck für Strings.enum: Liste der zulässigen Werte.allOf/anyOf/oneOf/not: Logische Kombinationen von Schemas.
- Schlüsselwörter für Metadaten:
title: Kurztitel des Schemas.description: Ausführliche Beschreibung des Schemas.default: Standardwert.
Beispiel für ein JSON-Schema:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Eindeutige Benutzer-ID"
},
"username": {
"type": "string",
"minLength": 3
},
"isActive": {
"type": "boolean",
"default": true
}
},
"required": [
"id",
"username"
]
}
Beispiel für gültige JSON-Daten gemäß diesem Schema:
{
"id": 123,
"username": "testuser",
"isActive": false
}
Beispiel für ungültige JSON-Daten gemäß diesem Schema:
{
"id": "abc" // Falscher Typ
// Fehlendes erforderliches Feld "username"
}
Verwendung des JSON-Schemas in QA Automation:
- API-Antwortvalidierung: Überprüfung, ob die JSON-Antworten dem Format entsprechen.
- Anforderungsvalidierung: Überprüfung der eingehenden JSON-Daten vor der Verarbeitung.
- Testdaten-Generierung: Verwendung des Schemas zur Erstellung gültiger (oder ungültiger) Testbeispiele.
- Dokumentation: Automatisch gepflegte API-Dokumentation.
Es gibt Bibliotheken für die Arbeit mit JSON-Schemas in verschiedenen Programmiersprachen (z.B. jsonschema für Python, json-schema-validator für Java).