Lim inn TypeScript på venstre side og klikk "Konverter" — vi gjør det om til JSONLim inn TypeScript

Hva verktøyet gjør

Du har et TypeScript-interface pluss et typet object literal, eller en const config: Config = {...}-tildeling, og du trenger den verdien som ekte JSON — til et API-request, en fixture eller et OpenAPI-eksempel. Lim inn hele blokken her. Verktøyet fjerner type-annotations, resolver literalen og gir deg JSON som parser overalt.

Ren type-only-syntaks håndteres på samme måte som TypeScript-kompilatoren ville gjort ved emit: interfaces og type aliases blir fjernet, as const og satisfies endrer ikke output, Record<string, X> forblir et objekt, og modifiers som readonly og ? ignoreres i JSON-en (optional-felter som mangler, er bare ikke der). Strenger blir quotet på samme måte som JSON.stringify gjør — doble anførselstegn, escape'et der det trengs — og keys er alltid strenger.

Enums emitter sin runtime-verdi. Et numerisk enum blir et number, et string-enum blir en string. Date-instanser kommer ut som ISO-8601 per RFC 8259. undefined-properties forsvinner, null forblir null. Du kan gjerne lime inn flere interfaces med instansene deres på én gang — hver instans ender opp som en top-level entry i JSON-en.

Slik bruker du det

Tre steg. Fungerer for et interface på fem linjer eller en hel <code>types.ts</code>-modul.

1

Lim inn TypeScript-en din (eller prøv eksempelet)

Dropp det i editoren på venstre side. Et interface + typet objekt, en type alias, enum-definisjoner eller eksporterte const-deklarasjoner — alt går bra. Klikk på Last inn eksempel for å se hvordan et realistisk input ser ut.

La syntaksen i TypeScript handbook-stil være som den er — du trenger ikke strippe generics, decorators eller import type-statements. MDN-referansen for JSON er en grei oppfriskning av hvordan JS-til-JSON-mapping fungerer.

2

Trykk Konverter

Klikk på den grønne Konverter-knappen. Verktøyet sletter type-info, evaluerer literal-verdiene og serialiserer dem på samme måte som JSON.stringify(obj, null, 2) hadde gjort.

3

Kopier JSON-en

Panelet til høyre viser pent formatert JSON, klar til å limes inn i en request body, et OpenAPI-eksempel eller en unit-test-fixture.

Når det faktisk er nyttig

API-request-eksempler

Du har en request-DTO i Angular, Next.js eller NestJS og trenger et JSON-payload til Swagger, Postman eller en curl-kommando. Lim inn interfacet + objektet, få JSON-en.

Fixtures til unit-tester

Konverter en inline typet mock fra en Jest- eller Vitest-test til en frittstående JSON-fixture for MSW, Playwright eller integration runs.

OpenAPI- og JSON Schema-eksempler

Lim inn <code>User</code>-interfacet og en sample-instans for å generere <code>example</code>-blokken til <a href="https://swagger.io/specification/" target="_blank" rel="noopener">OpenAPI</a>-schemaet ditt i én omgang.

Flytte config til JSON

Er du på vei fra en typet <code>config.ts</code> til et JSON-basert config-store? Lim inn den typede const-en, få ren JSON og legg den inn i det nye config-systemet ditt.

Vanlige spørsmål

Fjerner den type-annotations og generics?

Ja. Interfaces, type aliases, generiske parametere, as-casts, satisfies og readonly blir alle ryddet vekk på samme måte som TypeScript-kompilatoren rydder dem. JSON-en reflekterer bare runtime-verdien.

Hvordan håndteres enums?

Numeriske enums emitter tallet, string-enums emitter strengen. const enum behandles som et vanlig enum for konverteringens skyld. Enum-referanser inne i object literal-en resolves til deklarerte verdier.

Hva med optional-felter og Record-typer?

Optional-felter (name?: string) som mangler, dukker rett og slett ikke opp i JSON-en — samme default-oppførsel som JSON.stringify. Record<string, X> forblir et JSON-objekt keyet på de string-keysene du gir det.

Kan jeg lime inn en hel types-fil?

Ja. Flere interfaces, type aliases, enums og typede const-deklarasjoner kan ligge i samme paste. Hver top-level typet instans ender som sin egen entry i JSON-en, med nested types ekspandert på stedet.

Hvordan håndteres Date, null og undefined?

Date-verdier blir ISO-8601-strenger. null forblir JSON-null. undefined-properties faller ut av objekter. Arrays med undefined-elementer får null i den sloten — matcher JSON.stringify.

Blir koden min lagret?

Koden sendes til backend kun for å bli konvertert. Den blir ikke logget eller lagret noe sted. Hvis du limer inn noe sensitivt, ta en rask titt først.

Andre verktøy du kanskje trenger

TypeScript til JSON er bare én brikke i puslespillet. Her er verktøyene som passer godt sammen med det: