Preskoči na vsebino
100% lokalno

JSON v Java razred

Pretvorite vzorec JSON-a v Java razrede s samodejno sklepanjem tipov ugniježđenega in generičnih seznamov.

Vhod
Izhod

JSON v Java razred

Prilepite vzorec JSON-a in to orodje bo ustvarilo Java razrede, potrebne za njegov prikaz, pri čemer bo sklepalo tipe polj, tipe ugniježđenih predmetov in tipe elementov generičnega seznama neposredno iz vrednosti, ki ste jih navedli. Namenjen je razvijalcem programa, ki prejemajo odziv API-ja ali datoteko s konfiguracijo in potrebujejo tip model za deserialization brez ročnega pisanja vsakega polja.

Izbira način, na katerega so polja navedena: nobeno, Jackson's @JsonProperty, ali Gson's @SerializedName, vsak nosi originalni ključ JSON, tako da serializacija še vedno ustreza, potem ko je polje preimenovano v camelCase. Izklopite getterje in setterje za navaden razred z javnimi polji ali jih nadomestite s Lombok's @Data ali Java zapisom, kjer komponente nadomestijo polja in dostopnike. Tipov ovoja (Integer, Boolean, Double) je mogoče forsirati povsod namesto primitivov; orodje vedno uporablja ovoj, kjer je vrednost resnično opcijska, ker primitiv nikoli ne more biti null. Razglasitev paketa je dodana, če je navedena, in ugniježđeni predmeti se prikažejo kot statični ugniježđeni razredi v eni datoteki ali kot ločeni razredi na najvišji ravni.

Ko se ista oblika pojavi večkrat — ponavljajući predmeti v nizu ali dva sosednja polja z enako strukturo — orodje ponovno uporabi en ustvarjen razred namesto njegovega podvajanja. Polja, opazovana z različnimi oblikami čez niz, se združijo v en razred, pri čemer so polja, ki manjkajo iz nekaterih elementov, označena kot opcijska. Števila ostanejo kot int, kjer se prilegajo območju 32-bitnega in se razširijo na long ali double, kot je potrebno; ključ JSON, ki ne more biti identifikator Java, kot je na primer emoji, se vrne na varno ustvarjeno ime.

Vse se izvaja lokalno v vašem brskalniku — vzorec JSON nikoli ni naložen niti poslan na strežnik. Ustvarjene razrede kopirajte v svoj projekt, jih prenesite kot datoteko .txt ali pošljite izhod nazaj v vhod, da zaženete drugo orodje nanjo.

FAQ

Ali ravna z ugniježđenimi predmeti in nizi?
Da. Ugniježđeni predmeti postanejo lastni razred (ugniježđeni ali ločeni, odvisno od možnosti postavitve razreda) in nizi postanejo generički java.util.List sklepane vrste elementa.
Kaj se zgodi s poljem, ki manjka pri nekaterih vzorcih predmetov?
Označeno je kot opcijsko in, če je primitiv, nadgrajeno na njegov tip ovoja (Integer, Boolean, Double), tako da je polje legalno null.
Ali lahko namesto ročnih getterjev in setterjev uporabljam Lombok ali Java zapise?
Da. Vključite Lombok @Data za razred, anotiran z @Data in zasebnimi polji, ali Uporabi Java zapis za ustvarjanje zapisa s polji kot komponentami — oboje nadomestita ročno napisane dostopnike.
Kako se izberejo imena polj, kadar ključ JSON ni veljaven Java identifikator?
Ključ se pretvori v camelCase; ključ, ki ustvari prazno ali ime, ki se spopada s ključno besedo, se vrne na varno ustvarjeno ime, kot je polje, ali ključna beseda s črto na koncu.
Ali je moj JSON kjerkoli naložen?
Ne. Generiranje razreda se izvaja v celoti v vašem brskalniku — vaš vzorec JSON nikoli ni poslan na strežnik.