Preskoči na sadržaj
TextArray
100% lokalno

JSON u TypeScript

Generirajte TypeScript sučelja iz JSON dokumenta, s ugniježđenim objektima kao imenovanim podsučeljima.

Unos
Rezultat

JSON u TypeScript

Zalijepite JSON dokument — API odgovor, konfiguracijsku datoteku, red baze podataka — i dobijte TypeScript deklaracije spremne za korištenje. Tipovi se izvode rekurzivno: primitivni se preslikavaju na niz, broj i booleovu vrijednost, nizovi nose svoj tip elementa, a mješoviti nizovi postaju čiste unije kao što je (broj | niz)[]. Svaki ugniježđeni objekt postaje imenovano podsučelje izvedeno iz njegovog ključa svojstva u PascalCaseu, tako da "korisničko" svojstvo proizvodi korisničko sučelje koje možete uvesti i referencirati bilo gdje.

Identični oblici se otkrivaju i ponovno koriste jedno sučelje umjesto generiranja duplikata; numerički sufiks pojavljuje se samo kada dva objekta dijele ime ključa, ali se razlikuju u strukturi. Prazni nizovi izlaze kao unknown[], a prazni objekti kao Record<string, unknown> — poštena rezervirana mjesta umjesto nagađanja. Nazivi svojstava koji nisu valjani identifikatori automatski se navode u navodnicima, tako da kebab-case i numerički ključevi ostaju netaknuti.

Opcije pokrivaju stvarne konvencije projekta. Imenujte korijenski tip, odaberite između deklaracija sučelja i tipa, izvezite sve ili ništa, označite sva svojstva samo za čitanje i odlučite kako se tretiraju null vrijednosti — kao eksplicitni null tip ili kao izborna svojstva. Nevažeći JSON stvara mirnu pogrešku s linijom i stupcem problema, na isti način na koji JSON formatter to prijavljuje.

Sve se izvodi lokalno u vašem pregledniku: API odgovori s tokenima, korisničkim zapisima ili internim korisnim sadržajima nikada ne napuštaju vaš stroj. Zalijepite, kopirajte deklaracije u svoju bazu kodova i oblik vaših podataka je upisan.

FAQ

Kako se tipiziraju ugniježđeni objekti i nizovi?
Ugniježđeni objekti postaju imenovana podsučelja izvedena iz ključa svojstava u PascalCaseu. Nizovi uzimaju svoj tip elementa; kada se elementi razlikuju, tip je unija kao što je (broj | niz)[]. Niz objekata istog oblika ponovno koristi jedno sučelje za sve elemente.
Što se događa s dva predmeta istog oblika?
Dijele jedno sučelje — generator uspoređuje strukture i ponovno koristi prvo ime. Numerički sufiks poput Item2 pojavljuje se samo kada dva svojstva imaju isti ključ, ali stvarno različite oblike.
Kako se postupa s null vrijednostima?
Prema zadanim postavkama, svojstvo null je upisano kao null, što je upravo ono što primjer kaže. Uključite "Neobavezna svojstva za null vrijednosti" da biste emitirali prop?: unknown umjesto toga — korisno kada null znači "ponekad odsutan" u vašem API-ju.
Zašto je moj prazan niz upisan kao nepoznat[]?
Prazan niz ne nosi dokaze o svom tipu elementa, tako da je unknown[] iskren odgovor. Dodajte jedan reprezentativni element u uzorak i generator će zaključiti pravi tip.
Je li moj JSON negdje učitan?
Ne. Alat u potpunosti radi u vašem pregledniku i vaši podaci nikada ne napuštaju vaš uređaj — sigurno za API odgovore koji sadrže tokene ili osobne podatke.