Was macht dieser JSON zu Typen Generator
Das Schreiben von Modellklassen für eine große API-Antwort ist langsam und fehleranfällig. Wenn Sie ein JSON-Sample einfügen, leitet dieses Tool ein vollständiges Typmodell ab und druckt es als Go-Strukture mit json-Tags, Rust-Strukture mit serde-Derivaten, Zod-Schemas, Pydantic-Modelle, Kotlin-Datenklassen, Java-Datensätze, C#-Klassen, Swift-Codable-Strukturen oder TypeScript-Schnittstellen. Eingebettet Objekte werden zu ihren eigenen benannten Typen, Arrays von Objekten werden zusammengeführt, so dass jedes Feld, das in einem Element gesehen wird, erfasst wird, und die Schlussfolgerung läuft in einem Webworker, so dass auch Multi-Megabyte-Samples die Seite nicht einfrieren.
So verwenden Sie es
- Einfügen von JSON in die Eingabe oder Laden der Probe.
- Setzen Sie den Root-Typnamen, z. B.
UseroderOrderResponse. - Wählen Sie die Zielsprache. Die Ausgabe regeneriert sich sofort.
- Kopieren Sie den Code in Ihr Projekt und passen Sie Namen oder Typen an, wenn Ihr Domänenwissen die Schlussfolgerung übertrifft.
Wie Schlussfolgerungen funktionieren
- Optionelle Felder: Wenn in einigen Elementen eines Arrays ein Schlüssel fehlt, wird er als optional gekennzeichnet (
?in TS,Option<T>in Rust,omitemptyin Go,= Nonein Pydantic). - Nullierbare Felder: Ein
null-Wert macht das Feld in der Zielsprache null. - Zahlen: Ganzzahlen und Floats werden separat verfolgt, so dass
42zuint64/i64/Longwird, während4.2zu einem Float-Typ wird. - Mixed-Typen: Wenn ein Feld verschiedene Typen enthält, erhalten Sprachen mit Unions (TypeScript, Zod, Pydantic) eine Union, und die anderen fallen auf einen generischen JSON-Werttyp zurück.
- ** Benennung:** Schlüssel wie
user_idodercreated-atwerden pro Sprache in idiomatische Feldnamen umgewandelt, wobei der ursprüngliche Schlüssel in Tags oder Anmerkungen (json:"user_id",#[serde(rename)],@SerialName,CodingKeys) erhalten bleibt.
Tipps
- Führen Sie ihm eine repräsentative Probe. Ein einzelnes Objekt mit einem leeren Array sagt dem Tool nichts über die Elemente des Arrays.
- Verschmelzen mehrerer Antworten in ein Top-Level-Array, um optionale Felder zuverlässig zu erfassen.
- Zod-Ausgabe exportiert sowohl das Schema als auch den abgeleiteten Typ, so dass Sie Laufzeitvalidierung und statisches Tippen zusammen erhalten.