Der JSON-Schema-Generator liest einen JSON-Beispielwert - eine API-Antwort, eine Konfigurationsdatei, eine Webhook-Nutzlast - und schreibt ein JSON-Schema, das ihn validiert. Es leitet den Typ jedes Feldes zusammen, mischt ein Array von Objekten in ein einzelnes Elementschema und nicht in eine laute Vereinigung, leitet die Schlüssel aus den in jedem Datensatz vorhandenen Schlüsseln ab und kann Zeichenfolgenformate wie Datum-Zeit, E-Mail, URI und UUID taggen. Sie fügen bereits vorhandene Daten ein, Sie erhalten das Schema, das Sie sonst von Klausel per Hand schreiben würden.
Das Schreiben eines Schemas von Hand ist langsam und leicht falsch zu verstehen. Es ist verlockend, das zu tippen, was Ihrer Meinung nach eine Nutzlast enthält, ein verschachteltes Feld zu verfehlen, eine Eigenschaft gelegentlich null zu markieren oder zu vergessen, dass ein Endpunkt ein Array zurückgibt, an dem ein anderer ein einzelnes Objekt zurückgibt. Ein Schema, das direkt aus realen Daten generiert wird, beginnt mit der tatsächlichen Form, sodass das Dokument, das Sie validieren, dem entspricht, was der Service wirklich sendet. Von dort aus straffen Sie die Einschränkungen - Muster, Enumerationen, Minimums - von Hand, aber das mühsame Gerüst ist fertig.
Alles läuft in Ihrem Browser. Die Inferenz-Engine ist abhängigkeitsfreies TypeScript, kein Wrapper um eine gehostete API, also verlassen Sie die Seite - die routinemäßig Token, E-Mails und interne IDs mit sich führen - niemals. Wählen Sie Draft-07 oder den Dialekt 2020-12, fügen Sie einen Titel hinzu, schalten Sie die erforderliche Felderkennung, Formaterkennung und strikte `AdditionalProperties` ein, kopieren Sie das Schema oder laden Sie es als .json-Datei herunter.
Löschen Sie eine API-Antwort, ein Fixture oder einen JSON-Wert. Laden Sie zuerst das Beispiel, um zu sehen, wie verschachtelte Objekte, Arrays von Objekten und Zeichenfolgenformate behandelt werden.
Wählen Sie Entwurf-07 für die breiteste Werkzeugunterstützung oder 2020-12 für die aktuelle Spezifikation. Der richtige $schema-URI wird für Sie auf die Ausgabe geschrieben.
Fügen Sie einen optionalen Titel hinzu, entscheiden Sie, ob ein erforderliches Array ausgegeben werden soll, Zeichenfolgenformate erkennen und Objekte mit zusätzlichen Eigenschaften sperren: false für eine strikte Validierung.
Drücken Sie Generieren. Überprüfen Sie die abgeleiteten Typen und die erforderlichen Felder und kopieren Sie das Schema in Ihre Zwischenablage oder laden Sie es als .json-Datei herunter, die zum Ablegen in Ihren Validator bereit ist.
Senden Sie entweder den weit verbreiteten Draft-07-Dialekt oder die aktuelle Spezifikation 2020-12. Der passende $ Schema-Kennung wird in den Stamm geschrieben, sodass die Validatoren die richtigen Regeln auswählen.
Ein Array von Objekten wird zu einem einzelnen Element, das ein Element beschreibt, kein auseinander liegendes Element. In jedem Element vorhandene Tasten sind erforderlich, Tasten, die nur in einigen erscheinen, werden optional übrig.
Der Generator leitet das erforderliche Array von den Schlüsseln ab, die in jedem Objekt vorhanden sind, das er sieht. Genau so verhält sich das echte paginierte Daten - einige Felder sind immer vorhanden, andere nicht.
Erkennt Datums-, Datum-, Uhrzeit-, E-Mail-, URI-, UUID- und IPv4-Strings und markiert sie mit dem entsprechenden Format-Keyword, sodass Sie eine Bestätigung erhalten, die Sie sonst von Hand hinzufügen würden.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
Format, validate, and minify JSON data
Convert JSON to clean, valid YAML instantly — configurable indentation and safe string quoting
0 comments
No comments yet. Be the first to share your thoughts!