TypeScript til JSON Converter
Indsæt TypeScript-interfaces eller typede object literals. Få gyldig JSON tilbage.
Hvad værktøjet gør
Du har et TypeScript-interface plus et typet object literal, eller en const config: Config = {...}-assignment, og du skal bruge den værdi som rigtig JSON — til et API-request, en fixture eller et OpenAPI-eksempel. Indsæt hele blokken her. Værktøjet stripper type-annotations, resolver literalen og giver dig JSON, der parser alle steder.
Ren type-only-syntax behandles på samme måde, som TypeScript-compileren ville behandle det ved emit: interfaces og type aliases slettes, as const og satisfies ændrer ikke outputtet, Record<string, X> forbliver et objekt, og modifiers som readonly og ? ignoreres i JSON-en (manglende optional-felter er simpelthen ikke der). Strenge quotes på samme måde som JSON.stringify — dobbelte citationstegn, escape'ede hvor det er nødvendigt — og keys er altid strenge.
Enums emitter deres runtime-værdi. Et numerisk enum bliver et number, et string-enum bliver en string. Date-instanser kommer ud som ISO-8601 jf. RFC 8259. undefined-properties falder fra, null forbliver null. Du er velkommen til at indsætte flere interfaces og deres instanser på én gang — hver instans ender som top-level entry i JSON-en.
Sådan bruger du det
Tre trin. Virker for et fem-liniers interface eller en hel <code>types.ts</code>-modul.
Indsæt din TypeScript (eller prøv eksemplet)
Smid det i editoren til venstre. Et interface + typet objekt, en type alias, enum-definitioner eller eksporterede const-deklarationer — det hele er fint. Klik på Indlæs eksempel for at se, hvordan et realistisk input ser ud.
Lad syntaksen i TypeScript handbook-stil være som den er — du behøver ikke strippe generics, decorators eller import type-statements. MDN's JSON-reference er en fin opfriskning af, hvordan JS-til-JSON-mapping fungerer.
Tryk Konverter
Klik på den grønne Konverter-knap. Værktøjet sletter type-info, evaluerer literal-værdierne og serialiserer dem på samme måde, som JSON.stringify(obj, null, 2) ville gøre.
Kopier JSON-en
Højre panel viser pænt formateret JSON, klar til at smide ind i en request body, et OpenAPI-eksempel eller en unit-test-fixture.
Når det faktisk er brugbart
API-request-eksempler
Du har en request-DTO i Angular, Next.js eller NestJS og skal bruge en JSON-payload til Swagger, Postman eller en curl-kommando. Indsæt interfacet + objektet, få JSON-en.
Fixtures til unit-tests
Konverter en inline typet mock fra en Jest- eller Vitest-test til en selvstændig JSON-fixture til MSW, Playwright eller integration-runs.
OpenAPI- og JSON Schema-eksempler
Indsæt <code>User</code>-interfacet og en sample-instans for at generere <code>example</code>-blokken til dit <a href="https://swagger.io/specification/" target="_blank" rel="noopener">OpenAPI</a>-schema i én arbejdsgang.
Flytte config til JSON
Er du på vej fra en typet <code>config.ts</code> til et JSON-baseret config-store? Indsæt den typede const, få ren JSON, læg den ind i dit nye config-system.
Typiske spørgsmål
Stripper det type-annotations og generics?
Ja. Interfaces, type aliases, generiske parametre, as-casts, satisfies og readonly ryddes allesammen væk på samme måde, som TypeScript-compileren rydder dem. JSON-en afspejler kun runtime-værdien.
Hvordan håndteres enums?
Numeriske enums emitter tallet, string-enums emitter strengen. const enum behandles som et normalt enum, når det gælder konvertering. Enum-referencer inde i object literal-en resolves til deres deklarerede værdier.
Hvad med optional-felter og Record-typer?
Optional-felter (name?: string), der mangler, dukker simpelthen ikke op i JSON-en — samme default-opførsel som JSON.stringify. Record<string, X> forbliver et JSON-objekt, der er keyet på de string-keys, du giver det.
Kan jeg indsætte en hel types-fil?
Ja. Flere interfaces, type aliases, enums og typede const-deklarationer kan ligge i samme paste. Hver top-level typet instans ender som sin egen entry i JSON-en, med nested types udfoldet på stedet.
Hvordan håndteres Date, null og undefined?
Date-værdier bliver ISO-8601-strenge. null forbliver JSON-null. undefined-properties falder ud af objekter. Arrays med undefined-elementer får null i den slot — matcher JSON.stringify.
Bliver min kode gemt?
Koden sendes kun til backenden for at blive konverteret. Der bliver ikke logget eller gemt noget. Hvis du indsætter noget følsomt, så kig det igennem først.
Andre værktøjer, du måske får brug for
TypeScript til JSON er kun en brik i puslespillet. Her er de værktøjer, der passer godt sammen med det: