JSON u TypeScript pretvarač — besplatno
Generirajte TypeScript sučelja ili pseudonime tipova iz bilo kojeg JSON objekta ili niza. Zalijepite JSON i odmah dobijte TypeScript tipove spremne za upotrebu.
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;
}Uobičajene namjene
- Generiraj TypeScript tipove iz odgovora API-jaProsljeđi JSON odgovor API-ja i odmah generiraj TypeScript sučelja kako bi sigurno tipizirao frontend kod.
- TypeScript tipovi za konfiguraciju i objekte postavkiGeneriraj TypeScript sučelja iz JSON datoteka konfiguracije kako bi se dodala tipska sigurnost postavkama aplikacije.
- Generiraj TypeScript tipove iz zapisa baze podatakaPretvori JSON izvezene zapise baze podataka ili rezultate ORM upita u TypeScript sučelja za tipiziranje sloja podataka.
- Tipira lažne podatke i test ukloniteljeGeneriraj TypeScript sučelja iz JSON lažnih podataka i test uklonitelja kako bi tipizirao jediničnih testove i Storybook priče.
- Tipira odgovore API-ja trećih stranaGeneriraj TypeScript sučelja iz odgovora API-ja trećih strana gdje nedostaju ili su zastarjeli zvanični tipovi.
Kako funkcionira
Ovaj alat koristi ručno napisani rekurzivni algoritam zaključivanja tipa bez vanjskih biblioteka — JSON.parse za provjeru i raščlanjivanje unosa, zatim prilagođeni prolaz koji prolazi kroz svaku vrijednost u JSON stablu i emitira TypeScript interface ili type deklaracije izravno u pregledniku. Ništa se ne šalje na poslužitelj.
- 1JSON raščlanjen i provjerenVaš unos prosljeđuje se JSON.parse. Ako ne uspije, točna greška raščlanjivanja odmah se prikazuje ispod unosa. Uspješno raščlanjivanje proizvodi tipizirano stablo vrijednosti koje pokreće ostatak pretvorbe.
- 2Rekurzivno zaključivanje tipaRekurzivna funkcija getType prolazi kroz svaki čvor: primitivi se mapiraju na string, number, boolean ili null; objekti pokreću novi imenovani interface; nizovi objekata imaju svoje ključeve spojene preko svih elemenata tako da ključevi prisutni samo u nekim stavkama postaju opcionalni, a sukobljeni tipovi vrijednosti spajaju se s |.
- 3Imenovanje interfacea sigurno od sudaraSvaki ugniježđeni objekt dobiva PascalCase naziv izveden iz svog JSON ključa (snake_case, kebab-case i razmaci su svi normalizirani). Ako bi dva strukturno različita objekta dijelila isti naziv, dodaje se brojčani sufiks (Data, Data2, …) umjesto tihog prepisivanja ranije definicije.
- 4Izlaz renderiran i preuzimljivUgniježđeni interfacei se prvo emitiraju, zatim korijenski tip, formatiran kao export interface ili export type ovisno o vašem odabiru. Rezultat se može kopirati u međuspremnik ili preuzeti kao .ts datoteka — sve izgrađeno sa standardnim Blob-om i bez okretanja poslužitelju.
Srodni alati
JSON Schema u obrazac
Zalijepite JSON Schema i dobijte živi, funkcionalni obrazac — tekst, broj, potvrdni okvir, padajući izbornik i polja popisa — zatim kopirajte JSON koji vaši unosi proizvode. Odlično za prototipiranje tijela API zahtjeva. Radi u vašem pregjedniku.
Test brzine tipkanja (WPM)
Izmjerite brzinu pisanja (WPM) i točnost s testovima vremena, broja riječi, citata, prilagođenima i zen. Direktan WPM, sirova brzina, konzistentnost, graf rezultata, više jezika i povratnu informaciju po znaku — sve u vašem pregledniku.
Generator CSS clamp()
Generirajte fluidnu CSS clamp() vrijednost za responzivnu tipografiju i razmake. Postavite minimalnu/maksimalnu veličinu i raspon preglednika, pogledajte živi pregled i kopirajte jednolincijski CSS.