TypeScript till JSON Converter
Klistra in TypeScript-interfaces eller typade object literals. Få tillbaka giltig JSON.
Vad verktyget gör
Du har ett TypeScript-interface plus ett typat object literal, eller ett const config: Config = {...}, och du behöver värdet som riktig JSON — för ett API-anrop, en fixture eller ett OpenAPI-exempel. Klistra in hela blocket här. Verktyget strippar type-annotations, resolvar literalen och ger dig JSON som parsar överallt.
Rent type-only-syntax hanteras på samma sätt som TypeScript-kompilatorn skulle hantera det vid emit: interfaces och type aliases raderas, as const och satisfies ändrar inte outputen, Record<string, X> stannar som ett objekt, och modifierare som readonly och ? ignoreras i JSON-en (saknade optional-fält är helt enkelt inte där). Strängar citeras på samma sätt som JSON.stringify gör — dubbla citattecken, escape'ade där det behövs — och nycklar är alltid strängar.
Enums emitterar sitt runtime-värde. Ett numeriskt enum blir en number, ett string-enum blir en string. Date-instanser kommer ut som ISO-8601 enligt RFC 8259. undefined-properties trillar bort, null stannar som null. Du kan klistra in flera interfaces och deras instanser på en gång om du vill — varje instans hamnar som top-level entry i JSON-en.
Så använder du det
Tre steg. Funkar för ett femradigt interface eller för en hel <code>types.ts</code>-modul.
Klistra in din TypeScript (eller testa exemplet)
Släpp det i editorn till vänster. Ett interface + typat objekt, en type alias, enum-definitioner eller exporterade const-deklarationer — allt går bra. Klicka på Ladda exempel för att se hur en realistisk input ser ut.
Låt syntaxen i stil med TypeScript handbook vara — du behöver inte strippa generics, dekoratörer eller import type-statements. MDN:s JSON-referens är en bra uppfräschning om du vill läsa på om hur mappning från JS till JSON fungerar.
Tryck på Konvertera
Klicka på den gröna Konvertera-knappen. Verktyget raderar type-info, evaluerar literal-värden och serialiserar dem precis som JSON.stringify(obj, null, 2) hade gjort.
Kopiera JSON-en
Höger panel visar snyggt formaterad JSON, redo att klistras in i en request body, ett OpenAPI-exempel eller en unit-test-fixture.
När det faktiskt är användbart
API-request-exempel
Du har en request-DTO i Angular, Next.js eller NestJS och behöver en JSON-payload för Swagger, Postman eller ett curl-kommando. Klistra in interfacet + objektet, få JSON-en.
Fixtures för unit-tester
Gör om en inline typad mock från ett Jest- eller Vitest-test till en fristående JSON-fixture för MSW, Playwright eller integration-runs.
OpenAPI- och JSON Schema-exempel
Klistra in <code>User</code>-interfacet och en sample-instans för att generera <code>example</code>-blocket för ditt <a href="https://swagger.io/specification/" target="_blank" rel="noopener">OpenAPI</a>-schema i en smäll.
Flytta config till JSON
Är du på väg från en typad <code>config.ts</code> till en JSON-baserad config-store? Klistra in den typade consten, få ren JSON och lägg in den i ditt nya config-system.
Vanliga frågor
Strippar det type-annotations och generics?
Ja. Interfaces, type aliases, generiska parametrar, as-castar, satisfies och readonly rensas bort på samma sätt som TypeScript-kompilatorn rensar dem. JSON-en speglar bara runtime-värdet.
Hur hanteras enums?
Numeriska enums emitterar nummer, string-enums emitterar strängen. const enum behandlas som ett vanligt enum vad gäller konvertering. Enum-referenser inuti object literal-en löses till sina deklarerade värden.
Hur blir det med optional-fält och Record-typer?
Optional-fält (name?: string) som saknas dyker helt enkelt inte upp i JSON-en — samma default-beteende som JSON.stringify. Record<string, X> stannar som ett JSON-objekt indexerat på de string-nycklar du skickar in.
Kan jag klistra in en hel types-fil?
Ja. Flera interfaces, type aliases, enums och typade const-deklarationer kan ligga i samma klistra-in. Varje top-level typad instans blir sin egen entry i JSON-en, med nested types expanderade på plats.
Hur hanteras Date, null och undefined?
Date-värden blir ISO-8601-strängar. null stannar som JSON-null. undefined-properties ramlar bort från objekt. Arrays med undefined-element får null i den sloten — matchar JSON.stringify.
Sparas min kod?
Koden skickas till backenden bara för att konverteras. Den loggas inte och sparas inte någonstans. Om du klistrar in något känsligt, titta igenom det först.
Andra verktyg du kan behöva
TypeScript till JSON är bara en pusselbit. Här är verktygen som passar bra ihop med det: