Füg links TypeScript ein und klick "Konvertieren" — wir machen JSON drausTypeScript einfügen

Was das Tool macht

Du hast ein TypeScript-Interface plus ein typisiertes Object Literal, oder ein const config: Config = {...}, und brauchst diesen Wert als echtes JSON — für einen API-Request, ein Fixture oder ein OpenAPI-Example. Füg den ganzen Block hier ein. Das Tool entfernt die Typannotationen, wertet das Literal aus und gibt dir JSON zurück, das überall parsed.

Reine Type-Syntax wird so behandelt, wie der TypeScript-Compiler sie beim Emit behandelt: Interfaces und Type Aliases werden weggeräumt, as const und satisfies ändern den Output nicht, Record<string, X> bleibt ein Objekt, die Modifier readonly und ? werden im JSON ignoriert (fehlende optionale Felder tauchen einfach nicht auf). Strings werden genauso gequotet wie bei JSON.stringify — Double Quotes, escaped wo nötig — und Keys sind immer Strings.

Enums geben ihren Runtime-Wert aus. Ein numerisches Enum wird zur Zahl, ein String-Enum zum String. Date-Instanzen kommen als ISO-8601 raus, wie in RFC 8259 beschrieben. undefined-Properties fallen raus, null bleibt null. Du kannst auch mehrere Interfaces mit ihren Instanzen auf einmal einfügen — jede Instanz landet als Top-Level-Entry im JSON.

So benutzt du es

Drei Schritte. Funktioniert für ein fünfzeiliges Interface oder ein ganzes <code>types.ts</code>-Modul.

1

TypeScript einfügen (oder Beispiel probieren)

Wirf den Code in den linken Editor. Interface + typisiertes Objekt, Type Alias, Enum-Definitionen oder exportierte const-Deklarationen — alles kein Problem. Klick auf Beispiel laden, um zu sehen, wie realistischer Input aussieht.

Lass die Syntax im Stil des TypeScript-Handbooks einfach so — du musst keine Generics, Decorators oder import type-Statements entfernen. Die MDN-JSON-Referenz ist ein guter Spickzettel, wie das JS-zu-JSON-Mapping läuft.

2

Konvertieren drücken

Klick den grünen Konvertieren-Button. Das Tool entfernt Type-Infos, wertet Literal-Werte aus und serialisiert sie genauso wie JSON.stringify(obj, null, 2).

3

JSON kopieren

Rechts erscheint hübsch formatiertes JSON, bereit zum Einfügen in einen Request Body, ein OpenAPI-Example oder ein Unit-Test-Fixture.

Wann das richtig nützlich ist

API-Request-Examples

Du hast ein Angular-, Next.js- oder NestJS-Request-DTO und brauchst ein JSON-Payload für Swagger, Postman oder einen curl-Befehl. Interface + Object rein, JSON raus.

Unit-Test-Fixtures

Mach aus einem inline typisierten Mock in einem Jest- oder Vitest-Test ein eigenständiges JSON-Fixture für MSW, Playwright oder Integration Runs.

OpenAPI- und JSON-Schema-Examples

Füg das <code>User</code>-Interface und eine Sample-Instance ein, um den <code>example</code>-Block für dein <a href="https://swagger.io/specification/" target="_blank" rel="noopener">OpenAPI</a>-Schema in einem Rutsch zu bauen.

Config auf JSON portieren

Du ziehst von einer typisierten <code>config.ts</code> zu einem JSON-basierten Config-Store um? Typed Const rein, sauberes JSON raus, ab ins neue System damit.

Häufige Fragen

Werden Typannotationen und Generics entfernt?

Ja. Interfaces, Type Aliases, generische Parameter, as-Casts, satisfies und readonly werden alle genau so rausgeworfen, wie der TypeScript-Compiler sie rauswirft. Das JSON spiegelt nur den Runtime-Wert wider.

Wie werden Enums behandelt?

Numerische Enums geben die Zahl aus, String-Enums den String. const enum wird für die Konvertierung wie ein normales Enum behandelt. Enum-Referenzen innerhalb des Object Literals werden auf ihre deklarierten Werte aufgelöst.

Was ist mit optionalen Feldern und Record-Types?

Optionale Felder (name?: string), die nicht da sind, tauchen im JSON einfach nicht auf — gleiches Verhalten wie bei JSON.stringify standardmäßig. Record<string, X> bleibt ein JSON-Objekt, das mit den übergebenen String-Keys gekeyed ist.

Kann ich eine ganze Types-Datei einfügen?

Ja. Mehrere Interfaces, Type Aliases, Enums und typisierte Const-Declarations dürfen in einem Paste stehen. Jede Top-Level-typisierte Instance wird zu einem eigenen Entry im JSON, mit aufgelösten verschachtelten Types.

Wie werden Date, null und undefined behandelt?

Date-Werte werden zu ISO-8601-Strings. null bleibt JSON-null. undefined-Properties fallen aus Objekten raus. Arrays mit undefined-Elementen bekommen an der Stelle null — passt zu JSON.stringify.

Wird mein Code gespeichert?

Der Code geht nur zum Backend, damit er konvertiert werden kann. Es gibt kein Logging und nichts wird dauerhaft gespeichert. Wenn du etwas Sensibles einfügst, schau vorher noch mal drüber.

Andere Tools, die du brauchen könntest

TypeScript zu JSON ist nur ein Teil vom Puzzle. Diese Tools passen gut dazu: