Zum Inhalt springen

JSON zu TypeScript

JSON zu TypeScript wandelt JSON-Beispiele lokal in TypeScript-Interfaces und Type Aliases um, mit optionalen Feldern, Union-/Null-/Date-Inferenz, Root-Typnamen und Kopieren/Download als .ts.

JSON

Zeichen

0 / 50,000

TypeScript

JSON zu TypeScript

Schnellstart

1
Gültiges JSON-Beispiel in den linken Editor einfügen.
2
Bei Bedarf Root-Typnamen wie ApiResponse festlegen.
3
Rechts TypeScript prüfen: Objekte werden interface, Arrays oder Primitive type alias.
4
Generierte .ts kopieren oder herunterladen; Eingabeaktionen kopieren/laden das JSON-Beispiel.

Häufige Anwendungsfälle

Echte API-Antworten schnell in TypeScript-Typen umwandeln, die sich direkt in Frontends, SDK-Clients oder beim Schnittstellenabgleich nutzen lassen.

Vor dem endgültigen Vertragsdesign mit JSON-Beispielen prüfen, wie optionale Felder, null-Werte und Union-Typen abgeleitet werden.

Erzeuge aus Mock-JSON schnelle Typdefinitionen für Fixtures, Storybook-Stories oder Prototypen.

Wenn sich Backend-Antworten ändern, mit frischen JSON-Beispielen schnell prüfen, ob verschachtelte Typen wie User oder Meta angepasst werden müssen.

Nutzungstipps

Verwenden Sie ein repräsentatives JSON-Beispiel. Da es sich um eine stichprobenbasierte Inferenz handelt, können fehlende Felder oder Werte nicht in der Ausgabe erscheinen.
Leere Arrays werden zu unknown[], leere Objekte zu Interfaces, die Record<string, unknown> erweitern, bis du aussagekräftigere Beispieldaten lieferst.
Verschachtelte Deklarationen werden aus Eigenschaftsnamen normalisiert, daher nutzt der neue Output eher Namen wie User oder Meta statt älterer Root-Präfixe.
Die Generierung läuft nur mit gültigem JSON. Behebe zuerst Syntaxfehler; der Editor zeigt bei Parse-Fehlern Zeile und Spalte an.
Gültige benutzerdefinierte Root-Namen bleiben unverändert, ungültige Namen werden in einen zulässigen PascalCase-TypeScript-Bezeichner normalisiert.

Geben Sie Inferenzgrenzen ein

Der Generator leitet aus dem aktuellen Beispiel ab, nicht aus dem JSON-Schema, OpenAPI, GraphQL, Dateien, URLs, JSON-Zeilen oder Batch-Beispielen.
Arrays führen beobachtete Elementformen zusammen: Felder, die bei einigen Elementen fehlen, werden optional und Null- oder gemischte Werte werden zu Vereinigungen.
Datumsähnliche Zeichenfolgen können als Datum abgeleitet werden, aber der JSON-Laufzeitwert ist immer noch eine Zeichenfolge, es sei denn, Ihr Code analysiert ihn.
Objektwurzeln generieren eine Schnittstelle; Arrays und primitive Wurzeln erzeugen Typaliase; Leere Arrays verwenden „unknown[]“ und leere Objekte erweitern „Record<string, unknown>“.
Der Root-Name ist standardmäßig Root. Zulässige benutzerdefinierte Namen bleiben erhalten, während ungültige Namen und reservierte Wörter aufPascalCasenormalisiert werden.
Die Ausgabe besteht nur aus statischen TypeScript-Deklarationen: kein Laufzeitvalidator, Parser, Serialisierer, Zod/Yup/io-ts-Schema oder API-Client.

Einschränkungen und Kompatibilität

Dieses Tool leitet Typen aus Beispieldaten ab, nicht aus einem formalen Schema oder einer vertraglichen Referenzquelle. Felder, die im Beispiel fehlen, können nicht erraten werden.
Die Eingabe muss striktes JSON sein. Kommentare, nachgestellte Kommas und andere reine JavaScript-Syntax werden abgelehnt.
Der generierte TypeScript-Code enthält keine export-Anweisungen. Das Herunterladen einer .ts-Datei ist unabhängig vom Hinzufügen des export-Schlüsselworts, das Ihr Projekt möglicherweise benötigt.
Das Ergebnis ist nur statischer TypeScript-Code. Es werden keine Laufzeitvalidatoren, Parser, Serialisierer, Zod-Schemas oder API-Clients erstellt.

Datenschutz & Sicherheit

JSON zu TypeScript läuft lokal im Browser. Die JSON-Eingabe kann als Browser-Entwurf erhalten bleiben. Wenn ein gespeicherter Arbeitsbereich oder WebDAV-Synchronisierung aktiviert ist, können JSON-Eingabe, Root-Typname, Eingabe-/Ausgabe-Zeilennummern-Einstellungen und Zeilenumbruch-Einstellungen über diese Synchronisierung gespeichert werden. Generiertes TypeScript, Validierungsfehler, Zeilen-/Spaltenmarkierungen, Kopierstatus und Rückgängig-Verlauf werden aus der aktuellen Eingabe abgeleitet und nicht als separate Ergebnisdaten gespeichert. Downloads der Eingabe-JSON und der .ts-Ausgabe werden nur erstellt, wenn Sie auf Download klicken. Dieses Tool lädt keine Dateien hoch und erstellt keine Anhänge.

Häufige Fragen

6

Fahren Sie mit diesen verwandten Tools im nächsten Schritt fort.

Die gesamte Verarbeitung der Tools findet lokal in Ihrem Browser statt.