Zum Inhalt springen
BeispielWerk
English

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