JSON in TypeScript
Verwandeln Sie eine API-Antwort oder Konfigurationsdatei in TypeScript-Interfaces. Verschachtelte Objekte werden zu benannten Interfaces; Schlüssel, die in manchen Array-Elementen fehlen, werden optional.
Über dieses Tool
Eine API-Antwort von Hand zu typisieren, ist mühsam und fehleranfällig. Dieser Generator durchläuft das JSON, erzeugt für jede Objektform ein Interface und benennt es nach dem Schlüssel, unter dem es steht (bei Arrays in der Einzahl), leitet primitive Typen ab, bildet Unions über gemischte Array-Elemente und markiert Schlüssel als optional, wenn sie nicht in jedem Element eines Arrays vorkommen. Aus null wird eine null-Union, damit Sie daran denken, den Fall zu behandeln.
Die Ausgabe ist reines TypeScript mit exportierten Interfaces, bereit zum Einfügen in eine .d.ts-Datei oder ein Modul. Prüfen Sie das Ergebnis: JSON kann nicht ausdrücken, dass eine Zeichenkette in Wahrheit ein Datum oder ein Enum ist — das verfeinern Sie von Hand.
Häufige Fragen
- Warum ist ein Schlüssel als optional markiert?
- Er kam in einigen Array-Elementen vor, aber nicht in allen. Das ist die sicherste Annahme; entfernen Sie das ?, wenn Ihre API ihn garantiert.
- Kann der Generator Typaliase statt Interfaces erzeugen?
- Objekte werden zu Interfaces; die Wurzel wird nur dann ein Typalias, wenn sie ein Array oder ein primitiver Wert ist.
- Und bei sehr großem JSON?
- Tausende Objekte sind kein Problem. Interfaces entstehen nur für einzigartige Formen.