JSON-zu-TypeScript-Konverter

Erzeuge TypeScript-Interfaces aus einem JSON-Beispiel direkt in deinem Browser.

Dieses Tool läuft vollständig in deinem Browser. Deine Dateien werden niemals auf einen Server hochgeladen.

interface Root {
  name: string;
  age: number;
  active: boolean;
  tags: string[];
  address: Address;
}

interface Address {
  street: string;
  zip: string;
}

Was dieser Konverter macht

Liest einen JSON-Wert und erzeugt passende TypeScript-Interfaces: ein Interface pro im Beispiel gefundener Objektform, wobei jedes Feld anhand seines Werts typisiert wird.

So wird er verwendet

Füge ein JSON-Objekt, -Array oder einen primitiven Wert in den Editor ein. Sofort erscheint ein `Root`-Interface (oder ein Type-Alias, falls die Wurzel kein Objekt ist), dazu ein weiteres Interface für jede verschachtelte Objektform.

Beispiel

Ein Objekt mit einem String-Feld `name` und einem verschachtelten Objekt `address` erzeugt `interface Root { name: string; address: Address; }` sowie ein separates `interface Address { ... }`, benannt nach dem Schlüssel, aus dem es stammt.

Typzuordnung

Strings werden zu `string`, Zahlen zu `number`, Booleans zu `boolean` und Arrays zu `ElementType[]`. Eine Eigenschaft, deren Beispielwert `null` ist, wird als `null` typisiert — erweitere sie von Hand zu `T | null`, sobald du den tatsächlichen Feldtyp kennst.

Verschachtelte Objekte und Arrays

Jedes verschachtelte Objekt erhält sein eigenes benanntes Interface, erzeugt aus seinem Schlüssel (zum Beispiel wird `addresses` zu einem `Address`-Interface für die Array-Elemente). Erzeugen zwei verschiedene Schlüssel strukturell identische Objekte, erhält dennoch jeder sein eigenes Interface, statt zusammengeführt zu werden.

Grenzen

Die erzeugten Typen beschreiben nur das eine bereitgestellte JSON-Beispiel — ein Feld, das im Beispiel ein String, in deinen echten Daten aber anderswo eine Zahl ist, wird nicht erkannt. Arrays von Objekten werden nur anhand ihres ersten Elements typisiert, und erzeugte Interface-Namen können in seltenen Fällen mit reservierten TypeScript-Schlüsselwörtern kollidieren.

Datenschutz

Analyse und Codeerzeugung laufen vollständig lokal in deinem Browser. Das eingefügte JSON und der erzeugte TypeScript-Code werden niemals hochgeladen.

Häufig gestellte Fragen

Validiert das mein JSON gegen ein Schema?
Nein — es leitet Typen aus einem einzelnen Beispielwert ab; es ist ein Ausgangspunkt für Interfaces, kein JSON Schema und kein Laufzeit-Validator.
Was passiert bei Arrays von Objekten?
Der Konverter betrachtet das erste Element des Arrays, um dessen Interface zu erzeugen; haben spätere Elemente andere Felder, füge sie dem erzeugten Interface von Hand hinzu.
Wird mein JSON an einen Server gesendet?
Nein — Analyse und TypeScript-Erzeugung laufen vollständig lokal in deinem Browser.