JSON Schema Beispiele (Draft 2020-12) mit Instanzen
JSON Schema beschreibt, wie ein JSON-Dokument aufgebaut sein muss, und dient zur Validierung. Die Snippets verwenden Draft 2020-12 und zeigen ein Kunden-Schema mit Pflichtfeldern und $defs, oneOf, if/then und prefixItems, dazu eine gültige und eine ungültige Instanz mit mehreren Verstößen. Damit lässt sich ein Validator testen.
7 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 1× Fiktiv, 1× Absichtlich ungültig.
JSON Schema (2020-12): Kunde mit Pflichtfeldern und $defs
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://example.com/schemas/kunde.json", …Das $schema ist der offizielle Bezeichner von Draft 2020-12. format "email" prüft nur, wenn der Validator Formate aktiviert.
JSON Schema: gültige Instanz zum Kunden-SchemaFiktiv
{ "kundennummer": "K-100234", "vorname": "Anna", …JSON Schema: ungültige Instanz (mehrere Verstöße)Absichtlich ungültig
{ "kundennummer": "100234", "nachname": "", …Verstöße: Muster der Kundennummer, leerer Nachname, Alter unter 18, doppelte Tags; es fehlt die E-Mail und "unbekannt" ist nicht erlaubt.
JSON Schema: einfache Werte (Zahl, Text-Enum, Datum)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", …JSON Schema: oneOf mit zwei Zahlungsarten
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ …JSON Schema: if/then (Firmenname nur bei Geschäftskunden Pflicht)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", …JSON Schema: Array-Tupel mit prefixItems
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "array", …prefixItems ersetzt in 2020-12 das frühere Tupel-"items". Passend: [1, "a"]; nicht passend: [1, "a", true].
Weitere Themen in Datenformate & Snippets
- JSON Beispiele: gültig und ungültig zum Testen
- XML Beispiele: Namespaces, CDATA und Fehlerfälle
- YAML Beispiele: Listen, Anker und typische Fallen
- Markdown Beispiele: Tabelle, Listen, Codeblock
- HTML Beispiele: Formulare, Tabellen und Meta-Tags
- GraphQL Beispiele: Schema, Query, Mutation, Antwort
- Code-Snippets: Kundenmodell in vielen Sprachen
- curl Beispiele: GET, POST, Header, Upload, Auth