TypeScript til JSON Converter
Lim inn TypeScript-interfaces eller typede object literals. Få gyldig JSON tilbake.
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.
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.
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.
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: