Preskočiť na obsah

JSON na Java triedu

Premeniete JSON vzorku na Java triedy s automaticky odvodeným vnorenými typmi a generickými listami.

Vstup
Výstup

JSON na Java triedu

Vložte JSON vzorku a tento nástroj vygeneruje Java triedy potrebné na jeho reprezentáciu, pričom odvodzuje typy polí, typy vnorených objektov a typy prvkov generických listov priamo z poskytnutých hodnôt. Je určený vývojárom backendu, ktorí dostanú odpoveď API alebo konfiguračný súbor a potrebujú typovaný model na deserializáciu bez ručného písania jednotlivých polí.

Zvoľte si, ako sú polia anotované: bez anotácií, s Jackson @JsonProperty alebo s Gson @SerializedName, pričom každá nosi pôvodný kľúč JSON, aby serializácia stále zodpovedala aj po premenovaní poľa na camelCase. Vypnite gettery a settery pre jednoduchú triedu s verejnými poľami, alebo ich nahraďte Lombok @Data alebo Java recordom, kde komponenty nahradzujú polia a accessory. Wrapper typy (Integer, Boolean, Double) je možné vynútiť všade namiesto primitívnych typov; nástroj vždy používa wrapper tam, kde je hodnota skutočne voliteľná, pretože primitívny typ nemôže nikdy obsahovať null. Deklarácia balíka sa pridá, keď je poskytnutá, a vnorené objekty sa vykreslia ako staticky vnorené triedy v jednom súbore alebo ako samostatné top-level triedy.

Keď sa rovnaký tvar objaví viackrát — opakované objekty v poli alebo dve susedné polia s identickou štruktúrou — nástroj opätovne použije jednu vygenerovanú triedu namiesto duplicitovania. Polia pozorovaná s rôznymi tvarmi v poli sú zlúčená do jednej triedy, pričom polia chýbajúce v niektorých prvkoch sú označená ako voliteľná. Čísla zostávajú ako int tam, kde sa zmestia do 32-bitového rozsahu, a rozšírenia sa na long alebo double podľa potreby; kľúč JSON, ktorý nemôže byť Java identifikátor, ako napríklad emoji, sa vracia do bezpečného vygenerovaného názvu.

Všetko beží lokálne vo vašom prehliadači — vzorka JSON nikdy neopustí prehliadač a nie je prenášaná na server. Skopírujte vygenerované triedy do svojho projektu, stiahnite ich ako .txt súbor alebo pošlite výstup späť do vstupu a spustite na ňom iný nástroj.

Časté otázky

Spracovuje vnorené objekty a polia?
Áno. Vnorené objekty sa stanú vlastnou triedou (vnorenou alebo samostatnou, v závislosti od možnosti rozloženia triedy) a polia sa stanú generickým java.util.List odvodovaného typu prvku.
Čo sa stane s poľom, ktoré chýba v niektorých vzorových objektoch?
Je označené ako voliteľné a ak je to primitívny typ, je upgradované na jeho wrapper typ (Integer, Boolean, Double), aby pole mohlo legálne obsahovať null.
Môžem namiesto ručných getterov a setterov použiť Lombok alebo Java recordy?
Áno. Zapnite Lombok @Data pre triedu anotovanú @Data a private polia, alebo Použiť Java record na vygenerovanie recordu s poľami ako komponentmi — oba nahradzujú ručne písané accessory.
Ako sa vyberú názvy polí, keď kľúč JSON nie je platným Java identifikátorom?
Kľúč sa prekonvertuje na camelCase; kľúč, ktorý produkuje prázdny alebo názov kolidujúci s kľúčovým slovom, sa vracia do bezpečného vygenerovaného názvu ako field alebo kľúčové slovo s koncovým podčiarkom.
Je môj JSON niekde načítaný?
Nie. Generovanie tried beží úplne vo vašom prehliadači — vaša vzorka JSON nikdy nie je poslana na server.