Zum Inhalt springen
Aback Tools Logo

JSON-Schema-Generator

Erzeuge aus jeder JSON-Nutzlast sofort ein vollständiges JSON Schema nach Draft-07 oder Draft 2020-12 in deinem Browser. Erkennt Typen, erforderliche Felder, String-Formate und verschachtelte Objektstrukturen. Vollständig clientseitig - deine Daten verlassen nie dein Gerät.

JSON Schema Generator

Paste or upload a JSON payload to instantly generate a complete JSON Schema. Supports Draft-07 and Draft 2020-12 with configurable required fields, format detection, and description placeholders. All processing happens locally in your browser.

Optional title added to the root schema object

Warum unseren JSON-Schema-Generator verwenden?

  • Sofortige Schema-Inferenz: Erzeuge aus jeder JSON-Nutzlast in Millisekunden ein vollständiges JSON Schema. Die Engine durchläuft jedes verschachtelte Objekt und Array, leitet Typen ab, erkennt String-Formate und baut ein vollständig strukturiertes Schema ohne Serververarbeitung.
  • Vollständiger Datenschutz: Deine JSON-Nutzlasten verlassen nie dein Gerät. Die gesamte Schemaerzeugung läuft lokal in deinem Browser, was dieses Tool sicher für API-Antworten, Datenbankeinträge und alle sensiblen Geschäftsdaten macht, die du dokumentieren musst.
  • Draft-07 & Draft 2020-12: Wähle zwischen JSON Schema Draft-07 (weithin unterstützt von Validatoren wie AJV und jsonschema) und der modernen Spezifikation Draft 2020-12. Beide Ausgaben enthalten die korrekte $schema-URI, required-Arrays und Format-Annotationen.
  • 100 % kostenlos, ohne Limits: Keine Abonnements, keine Dateigrößenobergrenzen, keine Nutzungskontingente und kein Konto erforderlich. Erzeuge JSON Schemas aus Nutzlasten jeder Größe, so oft du willst - für immer komplett kostenlos.

Häufige Anwendungsfälle für den JSON-Schema-Generator

  • API-Dokumentation: Erzeuge JSON Schemas aus echten API-Antwort-Nutzlasten, um Request- und Response-Bodies in OpenAPI-Spezifikationen zu dokumentieren. Füge eine echte API-Antwort ein und erhalte ein sofort nutzbares Schema, das die tatsächliche Datenstruktur deiner Endpunkte präzise widerspiegelt.
  • Laufzeitvalidierung: Erstelle Validierungsschemas für AJV, jsonschema oder Zod aus vorhandenen JSON-Daten. Nutze das erzeugte Draft-07-Schema direkt in Validierungs-Middleware für Node.js, Python oder Go, um Datenverträge an API-Grenzen durchzusetzen und fehlerhafte Nutzlasten von deiner Datenbank fernzuhalten.
  • TypeScript-Typgenerierung: Nutze das erzeugte JSON Schema als Eingabe für Tools wie json-schema-to-typescript oder quicktype, um automatisch TypeScript-Interfaces und -Typen zu erzeugen. Starte mit einer echten JSON-Nutzlast und erhalte präzise, stark typisierte Interfaces, ohne sie von Hand zu schreiben.
  • Datenbank-Schema-Design: Erzeuge Schemas aus MongoDB-Dokumenten oder DynamoDB-Item-Exporten, um die Form deiner Daten zu verstehen, bevor du Indizes entwirfst oder zu einer relationalen Datenbank migrierst. Die abgeleiteten erforderlichen Felder und Typen geben dir einen Ausgangspunkt für Spaltendefinitionen und Einschränkungen.
  • Konfiguration von Formular-Buildern: Erzeuge JSON Schemas als Grundlage für dynamische Formular-Builder wie react-jsonschema-form oder JSON Forms. Füge Beschreibungs-Platzhalter über die Option im Generator hinzu und fülle sie anschließend aus, um menschenlesbare Labels und Hilfetexte für jedes Feld deines Formulars zu erstellen.
  • Tests von Datenverträgen: Erfasse das Schema einer als korrekt bekannten API-Antwort und nutze es als Vertrag in verbrauchergetriebenen Vertragstests mit Pact oder ähnlichen Frameworks. Erkenne Breaking Changes, wenn ein Anbieter ein erforderliches Feld entfernt oder den Typ einer Eigenschaft zwischen Releases ändert.

Was ist der JSON-Schema-Generator?

Der JSON-Schema-Generator analysiert eine JSON-Nutzlast und erzeugt ein vollständiges, standardkonformes JSON-Schema-Dokument - vollständig in deinem Browser. Er unterstützt sowohl JSON Schema Draft-07 — die am weitesten verbreitete Version, unterstützt von AJV, jsonschema und den meisten OpenAPI-Tools — als auch die moderne Spezifikation Draft 2020-12, die von neueren Validatoren und Codegeneratoren verwendet wird. Es werden niemals Daten an einen Server gesendet.

Draft-07 vs. Draft 2020-12: Draft-07 verwendet die URI http://json-schema.org/draft-07/schema# und ist die sicherste Wahl für maximale Kompatibilität mit vorhandenen Validatoren, OpenAPI-3.0-Tooling und Codegeneratoren. Draft 2020-12 verwendet die HTTPS-URI https://json-schema.org/draft/2020-12/schema und führt sauberere Semantik für $ref , unevaluatedProperties und Präfix-Elemente ein. Wähle 2020-12, wenn du AJV 8+, die TypeScript-Toolchain json-schema-to-typescript v12+ oder einen Validator ansteuerst, der die neueste Spezifikation ausdrücklich unterstützt.

Typinferenz

Der Generator durchläuft jeden Wert im Eingabedokument und ordnet ihn dem korrekten JSON-Schema-Typ zu. JSON-Strings werden zu "type": "string" , Ganzzahlen zu "type": "integer" , Gleitkommazahlen zu "type": "number" , Booleans zu "type": "boolean" und null-Werte zu "type": "null" . Verschachtelte Objekte werden rekursiv in properties-Subschemas verarbeitet, und Arrays werden analysiert, um ein items-Schema zu erzeugen.

Inferenz erforderlicher Felder

Wenn die Option „Erforderliche Felder ableiten“ aktiviert ist, fügt der Generator jedem Objektschema ein required-Array mit jedem Schlüssel hinzu, dessen Wert nicht null ist. Bei Arrays von Objekten mit aktivierter Option „Array-Item-Schemas zusammenführen“ wird ein Schlüssel nur dann als erforderlich markiert, wenn er in jedem Element des Arrays vorkommt - das ergibt eine konservative Menge erforderlicher Felder, die die tatsächlichen Daten widerspiegelt statt einer einzelnen Stichprobe.

Zusammenführen von Array-Item-Schemas: Wenn ein Array mehrere Objekte enthält, fasst die Option „Array-Item-Schemas zusammenführen“ alle Item-Schemas zu einem einzigen repräsentativen Schema zusammen. Eigenschaften, die in jedem Element vorkommen, werden als erforderlich markiert; Eigenschaften, die nur in einigen vorkommen, werden aufgenommen, aber nicht als erforderlich. Das ergibt ein präziseres items-Schema als die Verwendung nur des ersten Elements, besonders bei heterogenen Arrays aus echten API-Antworten.

Erkennung von String-Formaten

Der Generator erkennt automatisch sechs gängige String-Formate. ISO-8601-date-time-Strings wie 2024-03-15T10:30:00Z werden mit format: date-time annotiert. Reine Daten wie 2024-03-15 erhalten format: date . E-Mail-Adressen, HTTP/HTTPS-URIs, UUID-v4-Strings und IPv4-Adressen werden jeweils erkannt und mit ihren entsprechenden Format-Schlüsselwörtern annotiert. Deaktiviere diese Option, wenn alle Strings unannotiert bleiben sollen.

Beschreibungs-Platzhalter: Das Aktivieren von „Beschreibungs-Platzhalter hinzufügen“ fügt bei jeder Eigenschaft und jedem Objektschema einen leeren description-String ein. Das ist nützlich, wenn du das erzeugte Schema als Ausgangspunkt für API-Dokumentation oder die Konfiguration eines Formular-Builders verwenden willst - du kannst die Beschreibungen ausfüllen, ohne die Schlüssel bei jeder Eigenschaft manuell hinzufügen zu müssen.

Häufig gestellte Fragen

Ein JSON Schema ist ein Vokabular, das Struktur, Typen und Einschränkungen eines JSON-Dokuments beschreibt. Es wird für Laufzeitvalidierung, API-Dokumentation in OpenAPI-Spezifikationen, TypeScript-Typgenerierung und die Konfiguration von Formular-Buildern verwendet. Dieser JSON-Schema-Generator erstellt automatisch eines aus jeder vorhandenen JSON-Nutzlast.

Draft-07 ist die am weitesten unterstützte Version und kompatibel mit AJV, jsonschema und OpenAPI-3.0-Tooling. Draft 2020-12 ist die neueste Spezifikation mit saubererer $ref-Semantik und neuen Schlüsselwörtern wie unevaluatedProperties. Wähle Draft-07 für maximale Kompatibilität und Draft 2020-12, wenn du moderne Validatoren wie AJV 8+ ansteuerst.

Wenn „Erforderliche Felder ableiten“ aktiviert ist, wird jede Eigenschaft, deren Wert nicht null ist, zum required-Array hinzugefügt. Bei Arrays von Objekten mit aktivierter Zusammenführung wird ein Feld nur dann als erforderlich markiert, wenn es in jedem Element des Arrays vorkommt. Das ergibt eine konservative Menge erforderlicher Felder, die die tatsächlichen Daten widerspiegelt statt einer einzelnen Stichprobe.

Der Generator erkennt sechs Formate: date-time (ISO 8601 mit Uhrzeit), date (nur ISO-8601-Datum), E-Mail-Adressen, HTTP/HTTPS-URIs, UUID-v4-Strings und IPv4-Adressen. Jedes wird mit dem entsprechenden format-Schlüsselwort von JSON Schema annotiert. Deaktiviere „String-Formate erkennen“, wenn alle Strings unannotiert bleiben sollen.

Wenn aktiviert, fasst der Generator die Schemas aller Objekte in einem Array zu einem einzigen repräsentativen items-Schema zusammen. Eigenschaften, die in jedem Element vorkommen, werden als erforderlich markiert; Eigenschaften, die nur in einigen vorkommen, werden aufgenommen, aber als optional. Das ergibt ein präziseres Schema als die Verwendung nur des ersten Array-Elements.

Ja. Das erzeugte Draft-07-Schema ist sofort mit AJV, jsonschema (Python) und den meisten anderen Validatoren nutzbar. Kopiere die Ausgabe, speichere sie als .json-Datei und übergib sie an deinen Validator. Für AJV 8+ kannst du auch die Draft-2020-12-Ausgabe verwenden, indem du diese Option vor dem Erzeugen auswählst.

Vollständig. Die gesamte Schemaerzeugung läuft lokal in deinem Browser ohne Server-Uploads. Deine JSON-Nutzlasten, API-Antworten und Datenbankeinträge verlassen nie dein Gerät. Das macht das Tool sicher für sensible Geschäftsdaten, Zugangsdaten und jede proprietäre JSON-Struktur, die du dokumentieren musst.