Zum Inhalt springen
SPCXTools

JSON zu TypeScript

Konvertiere JSON-Daten sofort in TypeScript Interfaces oder Types mit anpassbaren Root-Namen und Export-Optionen.

Läuft lokal – Dateien verlassen dein Gerät nicht

Tool wird geladen…

So nutzt du: JSON zu TypeScript

  1. 1Füge dein JSON-Objekt oder -Array in das Eingabefeld ein oder tippe es ein. Du kannst auch auf Sample klicken, um zu sehen, wie es funktioniert.
  2. 2Lege den Root-Namen für dein Top-Level-Objekt fest (Standard ist "Root").
  3. 3Wähle, ob ein TypeScript Interface oder ein Type-Alias generiert werden soll, und aktiviere oder deaktiviere das export-Keyword.
  4. 4Kopiere den generierten TypeScript-Code in die Zwischenablage oder lade ihn als .ts Datei herunter.

Ein schneller, privater JSON zu TypeScript Konverter

Bei der Arbeit mit externen APIs, komplexen Konfigurationsdateien oder Dokumentendatenbanken in einem TypeScript-Projekt ist das manuelle Schreiben von Typdefinitionen oft mühsam und fehleranfällig. Dieser kostenlose Online JSON zu TypeScript Konverter übersetzt jedes gültige JSON-Objekt oder -Array sofort in streng typisierte TypeScript-Definitionen.

Da das Tool vollständig lokal in deinem Webbrowser läuft, werden deine Daten niemals auf einen Server hochgeladen. Du kannst proprietäre API-Antworten, interne Datenbank-Dumps oder sensible Konfigurationsdaten bedenkenlos einfügen, ohne dir Sorgen um den Datenschutz machen zu müssen. Die Konvertierung erfolgt in Echtzeit beim Tippen oder Einfügen, sodass du schnell iterieren kannst.

TypeScript-Typen flexibel aus JSON generieren

Jede Codebasis hat ihre eigenen Stilrichtlinien und Konventionen. Dieses Tool bietet verschiedene Konfigurationsmöglichkeiten, um sicherzustellen, dass die Ausgabe perfekt zu den Anforderungen deines Projekts passt:

Benutzerdefinierter Root-Name: Standardmäßig heißt das oberste Objekt Root. Du kannst dies ganz einfach an dein Domänenmodell anpassen, z. B. UserResponse, AppConfig oder ProductList.

Interface vs. Type: Du kannst wählen, ob du ein JSON-zu-TS-Interface oder einen Type-Alias generieren möchtest. Interfaces werden oft für Objektstrukturen in objektorientierten Mustern bevorzugt, da sie Declaration Merging unterstützen und erweiterbar sind. Types sind extrem vielseitig und werden oft in der funktionalen Programmierung bevorzugt. Mit diesem Tool kannst du mit nur einem Klick zwischen beiden wechseln.

Export-Schlüsselwort: Aktiviere die Export-Checkbox, um deinen generierten Typen automatisch das Schlüsselwort export voranzustellen. So können sie direkt in andere Module deiner Anwendung importiert werden.

Optionale Null-Werte: In vielen JSON-APIs wird ein fehlender oder undefinierter Wert als null dargestellt. In strikten TypeScript-Umgebungen möchte man diese Felder oft als optional markieren (mit der Syntax ?:), anstatt zwingend den Typ null zu verlangen. Wenn du die Checkbox "Optional null" aktivierst, wird dieses Muster automatisch angewendet, sodass du nicht manuell Dutzende von Fragezeichen hinzufügen musst.

Wie die JSON-Typableitung funktioniert

Wenn du einen JSON-Payload übergibst, analysiert der Konverter die Werte tiefgehend, um die korrekten TypeScript-Primitive abzuleiten. Strings, Zahlen und Booleans werden direkt ihren TypeScript-Entsprechungen zugeordnet. Verschachtelte Objekte werden rekursiv zu verschachtelten Interfaces oder Inline-Objekttypen verarbeitet, sodass deine Datenstrukturen bis in die unterste Ebene streng typisiert bleiben.

Bei Arrays untersucht das Tool die enthaltenen Elemente, um den genauesten Typ zu bestimmen. Enthält ein Array einheitliche Daten, wird ein einfacher Array-Typ wie string[] oder number[] generiert. Bei gemischten Datentypen erstellt es intelligent einen Union-Typ, wie etwa (string | number)[]. Ist ein Array komplett leer, wird standardmäßig any[] verwendet, da keine Daten vorhanden sind, um einen spezifischeren Typ abzuleiten.

Häufige Anwendungsfälle

REST-APIs anbinden: Wenn Sie einen neuen Endpunkt integrieren, erhalten Sie oft eine große, tief verschachtelte JSON-Antwort. Fügen Sie diese Antwort einfach in den Konverter ein, um sofort die exakten Interfaces für die Typisierung Ihrer fetch- oder axios-Aufrufe zu erhalten. Das ermöglicht striktes Type-Checking und intelligente Autovervollständigung in Ihrer IDE und verhindert Laufzeitfehler durch Tippfehler in Property-Namen.

Migration von JavaScript-Projekten: Wenn Sie eine ältere JavaScript-Codebasis schrittweise auf TypeScript migrieren, können Sie bestehende JSON-Konfigurationsdateien oder Mock-Daten nutzen, um Ihre Datenmodelle schnell aufzubauen, ohne sie von Grund auf neu schreiben zu müssen.

Arbeiten mit NoSQL-Datenbanken: Dokumentendatenbanken wie MongoDB liefern oft komplexe JSON-Strukturen zurück. Die Generierung von Typen für diese Dokumente stellt sicher, dass Ihre Anwendungslogik die Daten typsicher verarbeitet und das Schema Ihrer Datenbank einhält.

Tipps für optimale Ergebnisse

  • Strikt valides JSON sicherstellen: Im Gegensatz zu Standard-JavaScript-Objekten erfordert JSON doppelte Anführungszeichen um alle Schlüssel und String-Werte und erlaubt keine abschließenden Kommas. Bei unsauberen Payloads oder JavaScript-Objekt-Literalen können Sie diese zuerst mit dem JSON Formatter validieren und bereinigen.
  • Repräsentative Beispieldaten bereitstellen: Die generierten Typen sind nur so genau wie die bereitgestellten Daten. Wenn eine API für ein bestimmtes Feld manchmal einen String und manchmal eine Number zurückgibt, sollte Ihr Beispiel-JSON beides in einem Array enthalten. Alternativ können Sie den generierten Typ später manuell in einen Union-Typ ändern. Je umfangreicher die Beispieldaten, desto präziser werden Ihre TypeScript-Definitionen.
  • Aus anderen Formaten konvertieren: Wenn Ihre Daten in anderen Formaten vorliegen, müssen diese zuerst konvertiert werden. Nutzen Sie dafür beispielsweise die Tools XML zu JSON oder YAML zu JSON, um einen validen JSON-Payload zu erhalten, bevor Sie Ihre TypeScript-Definitionen generieren.

Häufige Fragen

Wie leitet der Konverter Typen ab?
Er analysiert die tatsächlichen Werte in deinen JSON-Daten. Strings werden zu string, Zahlen zu number, Booleans zu boolean, und verschachtelte Objekte oder Arrays werden rekursiv in verschachtelte Typen oder Interfaces konvertiert.
Was passiert, wenn mein JSON Arrays mit gemischten Typen enthält?
Das Tool generiert einen Union-Type (z. B. (string | number)[]), der die verschiedenen im Array vorhandenen Datentypen exakt widerspiegelt.
Was bewirkt die Einstellung "Optional null"?
Wenn aktiviert, wird jede JSON-Eigenschaft mit dem Wert null in der TypeScript-Definition als optional markiert. Das ist besonders hilfreich bei lückenhaften API-Antworten, bei denen fehlende Daten durch null dargestellt werden.
Kann ich einen Type-Alias anstelle eines Interfaces generieren?
Ja, du kannst die Stil-Einstellung auf "type" ändern, um type Root = { ... } anstelle von interface Root { ... } zu generieren.
Werden meine JSON-Daten an einen Server gesendet?
Nein. Das gesamte Parsing und die Konvertierung finden lokal in deinem Browser statt. Deine Daten werden niemals hochgeladen, was das Tool absolut sicher für proprietäre oder sensible API-Antworten macht.
Warum verursacht mein JSON einen Fehler?
Die Eingabe muss strikt valides JSON sein. Häufige Fehlerquellen sind fehlende Anführungszeichen bei Schlüsseln, Kommas am Ende oder die Verwendung von einfachen statt doppelten Anführungszeichen.