JSON u TypeScript konvertor — besplatno
Generišite TypeScript interfejse ili aliase tipova iz bilo kog JSON objekta ili niza. Nalepite vaš JSON i odmah dobijte gotove TypeScript tipove.
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 upotrebe
- Generišite TypeScript tipove iz odgovora API-jaZalepite JSON odgovor API-ja i odmah generišite TypeScript interfejse da biste bezbedno tipizirali kod frontenda.
- TypeScript tipovi za konfiguraciju i objekte podešavanjaGenerišite TypeScript interfejse iz JSON datoteka konfiguracije da biste dodali tipsku sigurnost podešavanjima aplikacije.
- Generišite TypeScript tipove iz zapisa u bazi podatakaKonvertujte JSON-izvezene zapise u bazama podataka ili rezultate ORM upita u TypeScript interfejse za tipiziranje sloja podataka.
- Tipirajte maketne podatke i testne fiksetureGenerišite TypeScript interfejse iz JSON maketnih podataka i testnih fiksetura da tipizirate jedinične testove i Storybook priče.
- Tipirajte odgovore API-ja trećih stranaGenerišite TypeScript interfejse iz odgovora API-ja trećih strana gde zvanični tipovi nedostaju ili su zastareli.
Kako funkcioniše
Ova alatka koristi ručno napisan rekurzivni algoritam zaključivanja tipova bez ijedne spoljne biblioteke — JSON.parse da proveri i parsira unos, zatim prilagođen obilazak koji prolazi kroz svaku vrednost u JSON stablu i emituje TypeScript interface ili type deklaracije direktno u pregledaču. Ništa se ne šalje serveru.
- 1JSON parsiran i proverenVaš unos se prosleđuje JSON.parse. Ako ne uspe, tačna greška parsiranja se odmah prikazuje ispod unosa. Uspešno parsiranje proizvodi tipizovano stablo vrednosti koje pokreće ostatak konverzije.
- 2Rekurzivno zaključivanje tipaRekurzivna funkcija getType prolazi kroz svaki čvor: primitivi se mapiraju u 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 opcioni a sukobljeni tipovi vrednosti se spajaju sa |.
- 3Imenovanje interface-a bezbedno od sudaraSvaki ugnežđeni objekat dobija PascalCase naziv izveden iz njegovog JSON ključa (snake_case, kebab-case, i razmaci se svi normalizuju). Ako bi dva strukturno različita objekta delila isti naziv, dodaje se brojčani sufiks (Data, Data2, …) umesto tihog prepisivanja ranije definicije.
- 4Izlaz prikazan i preuzimljivUgnežđeni interface-i se emituju prvi, zatim koreni tip, formatirano kao export interface ili export type u zavisnosti od vašeg izbora. Rezultat se može kopirati u privremenu memoriju ili preuzeti kao .ts fajl — sve izgrađeno sa standardnim Blob i bez putovanja do servera i nazad.
Slične alatke
JSON Schema u obrazac
Nalepite JSON Schema i dobijte živi, radni obrazac — tekstualna, numerička, polja za potvrdu, padajuće liste i liste — a zatim kopirajte JSON koji vaši unosi proizvode. Odlično za prototipove tela API zahteva. Radi u vašem pregledaču.
Test brzine kucanja (WPM)
Izmerite brzinu kucanja (WPM) i preciznost sa testovima vezanim za vreme, broj reči, citate, prilagođene i zen režime. Živi WPM, sirova brzina, konzistentnost, grafik rezultata, više jezika i povratnu informaciju po znaku — sve u vašem pregledaču.
Generator CSS clamp() vrednosti
Generišite fluidnu CSS clamp() vrednost za responzivnu tipografiju i razmake. Postavite min/maks veličinu i opseg viewport-a, vidite pregled uživo i kopirajte jednoliniski CSS.