Gratis JSON til TypeScript-konverterer
Generer TypeScript-grensesnitt eller typealias fra et JSON-objekt eller -array. Lim inn JSON og få bruksklare TypeScript-typer øyeblikkelig.
export interface User {
id: number;
name: string;
email: string;
isActive: boolean;
score: number;
tags: string[];
address?: null;
}
export interface Root {
user: User;
createdAt: string;
version: number;
}Vanlige bruksområder
- Generer TypeScript-typer fra API-svarLim inn et API JSON-svar og generer øyeblikkelig TypeScript-grensesnitt for å typesikre frontend-koden din.
- TypeScript-typer for konfig- og innstillingsobjekterGenerer TypeScript-grensesnitt fra JSON-konfigfiler for å legge til typesikkerhet i applikasjonsinnstslingene dine.
- Generer TypeScript-typer fra databaseposterKonverter JSON-eksporterte databaseposter eller ORM-forespørselsresultater til TypeScript-grensesnitt for datatypisering.
- Typemockdata og testfiksturGenerer TypeScript-grensesnitt fra JSON-mockdata og testfikturer for å skrive enhetstester og Storybook-historier.
- Skriv tredjepartsAPI-svarGenerer TypeScript-grensesnitt fra tredjepartsAPI-svar hvor offisielle typer mangler eller er foreldet.
Hvordan det fungerer
Verktøyet bruker en håndskrevet rekursiv typeinferensalgoritme uten eksterne biblioteker — JSON.parse for å validere og tolke inndataene, deretter en egen gjennomgang som går gjennom hver verdi i JSON-treet og lager TypeScript-deklarasjoner med interface eller type direkte i nettleseren. Ingenting sendes til en server.
- 1JSON tolkes og valideresInndataene sendes til JSON.parse. Hvis det feiler, vises den nøyaktige tolkefeilen umiddelbart under inndatafeltet. En vellykket tolking gir et typet verditre som driver resten av konverteringen.
- 2Rekursiv typeinferensEn rekursiv getType-funksjon går gjennom hver node: primitiver blir string, number, boolean eller null; objekter gir et nytt navngitt interface; for matriser med objekter slås nøklene sammen på tvers av alle elementer, så nøkler som bare finnes i noen elementer blir valgfrie, og motstridende verdityper slås sammen med |.
- 3Kollisjonssikker navngiving av interfaceHvert nestet objekt får et PascalCase-navn utledet fra JSON-nøkkelen (snake_case, kebab-case og mellomrom normaliseres). Hvis to strukturelt ulike objekter ville fått samme navn, legges et tallsuffiks til (Data, Data2, …) i stedet for å stille overskrive den tidligere definisjonen.
- 4Resultatet vises og kan lastes nedNestede interface skrives først, deretter rottypen, formatert som export interface eller export type etter ditt valg. Resultatet kan kopieres til utklippstavlen eller lastes ned som .ts-fil — alt bygget med en vanlig Blob uten tur til serveren.
Relaterte verktøy
JSON Schema til skjema
Lim inn et JSON Schema og få et live, fungerende skjema — tekst, tall, avmerkingsboks, rullegardinliste og listefelt — og kopier deretter JSON-en inndataene dine produserer. Flott for prototyping av API-forespørselskropper. Kjører i nettleseren.
Skrivehastighetstest (WPM)
Mål skrivehastigheten (WPM) og nøyaktigheten din med tidsbaserte, ordbaserte, sitat-, egendefinerte og zen-tester. WPM i sanntid, råfart, konsistens, resultatgraf, flere språk og tilbakemelding per tegn — alt i nettleseren din.
CSS clamp()-generator
Generer en flytende CSS clamp()-verdi for responsiv typografi og avstand. Angi min-/maksstørrelse og visningsbredde-intervall, se en live forhåndsvisning og kopier CSS-en på én linje.