Hoppa till innehåll
TextArray
100% lokalt

JSON till TypeScript

Generera TypeScript-gränssnitt från ett JSON-dokument, med kapslade objekt som namngivna undergränssnitt.

Inmatning
Utmatning

JSON till TypeScript

Klistra in ett JSON-dokument — ett API-svar, en konfigurationsfil, en databasrad — och få färdiga att använda TypeScript-deklarationer. Typer härleds rekursivt: primitiver mappar till sträng, nummer och boolean, arrayer bär sin elementtyp och blandade arrayer blir rena fackföreningar som (nummer | sträng)[]. Varje kapslat objekt blir ett namngivet undergränssnitt härlett från dess egenskapsnyckel i PascalCase, så en "användar"-egenskap producerar ett användargränssnitt som du kan importera och referera var som helst.

Identiska former upptäcks och återanvänder ett enda gränssnitt istället för att generera dubbletter; ett numeriskt suffix visas endast när två objekt delar ett nyckelnamn men skiljer sig i struktur. Tomma arrayer kommer ut som okända[] och tomma objekt som Record<string, unknown> — ärliga platshållare snarare än gissningar. Egendomsnamn som inte är giltiga identifierare citeras automatiskt, så kebab-stor och numeriska nycklar förblir intakta.

The options cover real project conventions. Namnge rottypen, välj mellan gränssnitts- och typdeklarationer, exportera allt eller inget, markera alla egenskaper skrivskyddat och bestäm hur nollvärden ska behandlas - som en explicit nolltyp eller som valfria egenskaper. Ogiltig JSON ger ett lugnt fel med raden och kolumnen för problemet, på samma sätt som JSON-formateraren rapporterar det.

Allt körs lokalt i din webbläsare: API-svar med tokens, användarposter eller interna nyttolaster lämnar aldrig din maskin. Klistra in, kopiera deklarationerna till din kodbas och formen på dina data skrivs.

FAQ

Hur skrivs kapslade objekt och arrayer?
Kapslade objekt blir namngivna undergränssnitt härledda från deras egenskapsnyckel i PascalCase. Arrayer tar sin elementtyp; när element skiljer sig åt är typen en union som (nummer | sträng)[]. En array av objekt med samma form återanvänder ett gränssnitt för alla element.
Vad händer med två föremål av samma form?
De delar ett gränssnitt — generatorn jämför strukturer och återanvänder förnamnet. Ett numeriskt suffix som Item2 visas bara när två egenskaper har samma nyckel men genuint olika former.
Hur hanteras nollvärden?
Som standard skrivs en null-egenskap som null, vilket är exakt vad exemplet säger. Aktivera "Valfria egenskaper för nollvärden" för att avge prop?: okänd istället – användbart när null betyder "ibland frånvarande" i ditt API.
Varför skrivs min tomma array som okänd[]?
En tom array har inga bevis för dess elementtyp, så unknown[] är det ärliga svaret. Lägg till ett representativt element till provet och generatorn härleder den verkliga typen.
Är min JSON uppladdad någonstans?
Nej. Verktyget körs helt i din webbläsare och dina data lämnar aldrig din enhet – säkert för API-svar som innehåller tokens eller personlig data.