Gratis JSON till TypeScript-konverterare
Generera TypeScript-gränssnitt eller typalias från valfritt JSON-objekt eller array. Klistra in din JSON och få färdiga TypeScript-typer direkt.
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;
}Vanliga användningar
- Generera TypeScript-typer från API-svarKlistra in ett API JSON-svar och generera omedelbar TypeScript-gränssnitt för att typskydda din frontendkod.
- TypeScript-typer för konfig- och inställningsobjektGenerera TypeScript-gränssnitt från JSON-konfigurationsfiler för att lägga till typsäkerhet till dina programinställningar.
- Generera TypeScript-typer från databasposterKonvertera JSON-exporterade databasposter eller ORM-frågeresultat till TypeScript-gränssnitt för dataskiktskodning.
- Typdata och testfixtureringGenerera TypeScript-gränssnitt från JSON-mockdata och testfixturor för att typera dina enhetstester och Storybook-berättelser.
- Skriv tredjepartsprogram API-svarGenerera TypeScript-gränssnitt från tredjepartsAPI-svar där officiella typer saknas eller är föråldrade.
Så här fungerar det
Det här verktyget använder en handskriven rekursiv typinferensalgoritm utan externa bibliotek — JSON.parse för att validera och tolka indatan, och sedan en anpassad genomgång som går igenom varje värde i JSON-trädet och skapar TypeScript interface- eller type-deklarationer direkt i webbläsaren. Inget skickas till en server.
- 1JSON tolkad och valideradDin indata skickas till JSON.parse. Om det misslyckas visas det exakta tolkningsfelet direkt under indatan. En lyckad tolkning skapar ett typat värdeträd som driver resten av omvandlingen.
- 2Rekursiv typinferensEn rekursiv getType-funktion går igenom varje nod: primitiver mappas till string, number, boolean eller null; objekt utlöser ett nytt namngivet interface; arrayer av objekt får sina nycklar sammanslagna över alla element så att nycklar som bara finns i vissa objekt blir valfria och motstridiga värdetyper slås samman med |.
- 3Kollisionssäker interface-namngivningVarje nästlat objekt får ett PascalCase-namn härlett från sin JSON-nyckel (snake_case, kebab-case och mellanslag normaliseras alla). Om två strukturellt olika objekt skulle dela samma namn läggs ett numeriskt suffix till (Data, Data2, …) istället för att tyst skriva över den tidigare definitionen.
- 4Utdata renderad och nedladdningsbarNästlade interface skrivs ut först, sedan roten typ, formaterad som export interface eller export type beroende på ditt val. Resultatet kan kopieras till urklipp eller laddas ned som en .ts-fil — allt byggt med en vanlig Blob och ingen serverrundtur.
Relaterade verktyg
JSON Schema till formulär
Klistra in ett JSON Schema och få ett fungerande formulär direkt — text-, tal-, kryssrute-, rullgardins- och listfält — kopiera sedan den JSON som dina inmatningar skapar. Perfekt för att prototypa brödtexter för API-anrop. Körs i din webbläsare.
Skrivhastighetstest (WPM)
Mät din skrivhastighet (WPM) och noggrannhet med tids-, ord-, citat-, anpassade och zen-tester. Live-WPM, råhastighet, konsekvens, resultatgraf, flera språk och feedback per tecken — allt i din webbläsare.
CSS clamp()-generator
Generera ett flytande CSS clamp()-värde för responsiv typografi och avstånd. Ange min/max-storlek och vyportintervall, se en liveförhandsvisning och kopiera en-rads-CSS.