Preskoči na vsebino
TextArray
100% lokalno

JSON v TypeScript

Ustvarite vmesnike TypeScript iz dokumenta JSON z ugnezdenimi objekti kot imenovanimi podvmesniki.

Vhod

JSON v TypeScript

Prilepite dokument JSON — odziv API-ja, konfiguracijsko datoteko, vrstico zbirke podatkov — in pridobite deklaracije TypeScript, pripravljene za uporabo. Tipi so sklepani rekurzivno: primitivni elementi se preslikajo v niz, število in logično vrednost, nizi nosijo svoj tip elementa, mešani nizi pa postanejo čiste unije, kot je (število | niz)[]. Vsak ugnezdeni objekt postane imenovani podvmesnik, izpeljan iz njegovega ključa lastnosti v PascalCase, tako da lastnost "uporabnik" ustvari uporabniški vmesnik, ki ga lahko uvozite in se sklicujete kjer koli.

Enake oblike so zaznane in ponovno uporabijo en vmesnik namesto ustvarjanja dvojnikov; številska pripona se pojavi le, če si dva objekta delita ključno ime, vendar se razlikujeta po strukturi. Prazne matrike so prikazane kot neznano [] in prazni predmeti kot zapis<string, neznano> — pošteni nadomestni znaki namesto ugibanj. Imena lastnosti, ki niso veljavni identifikatorji, so samodejno narekovana, tako da kebab-case in številske tipke preživijo nedotaknjene.

Možnosti pokrivajo resnične konvencije projekta. Poimenujte korenski tip, izbirajte med deklaracijami vmesnika in tipa, izvozite vse ali nič, označite vse lastnosti samo za branje in se odločite, kako se obravnavajo ničelne vrednosti – kot eksplicitni ničelni tip ali kot neobvezne lastnosti. Neveljaven JSON sproži mirno napako v vrstici in stolpcu težave, na enak način kot jo sporoči formatirnik JSON.

Vse se izvaja lokalno v vašem brskalniku: odgovori API-ja z žetoni, uporabniškimi zapisi ali notranjimi uporabnimi obremenitvami nikoli ne zapustijo vašega računalnika. Prilepite, kopirajte deklaracije v svojo kodno zbirko in oblika vaših podatkov je vnesena.

FAQ

Kako so tipizirani ugnezdeni predmeti in polja?
Ugnezdeni objekti postanejo poimenovani podvmesniki, ki izhajajo iz njihovega ključa lastnosti v PascalCase. Nizi prevzamejo svoj tip elementa; kadar se elementi razlikujejo, je tip unija, kot je (število | niz)[]. Niz predmetov iste oblike ponovno uporablja en vmesnik za vse elemente.
Kaj se zgodi z dvema predmetoma enake oblike?
Delita si en vmesnik — generator primerja strukture in ponovno uporabi prvo ime. Številska pripona, kot je Item2, se pojavi le, če imata dve lastnosti isti ključ, vendar resnično različni obliki.
Kako se obravnavajo ničelne vrednosti?
Lastnost null je privzeto vnesena kot null, kar je natanko tisto, kar pravi vzorec. Vklopite »Izbirne lastnosti za ničelne vrednosti«, če želite namesto tega oddati prop?: unknown — uporabno, ko null pomeni »včasih odsoten« v vašem API-ju.
Zakaj je moja prazna matrika vpisana kot neznano []?
Prazna matrika ne vsebuje nobenega dokaza o svoji vrsti elementa, zato je neznan [] pošten odgovor. Vzorcu dodajte en reprezentativni element in generator bo ugotovil pravi tip.
Ali je moj JSON kje naložen?
Ne. Orodje se v celoti izvaja v vašem brskalniku in vaši podatki nikoli ne zapustijo vaše naprave – varno za odgovore API-ja, ki vsebujejo žetone ali osebne podatke.