JSON till Java-klass
Omvandla ett JSON-exempel till Java-klasser med automatiskt härledda kapslade typer och generiska listor.
JSON till Java-klass
Klistra in ett JSON-exempel och det här verktyget genererar de Java-klasser som behövs för att representera det. Det härleder fälttyper, kapslade objekttyper och generiska listelement-typer direkt från de värden du tillhandahåller. Det är byggt för backend-utvecklare som får ett API-svar eller en konfigurationsfil och behöver en typifierad modell för att deserialisera den utan att skriva varje fält manuellt.
Välj hur fält kommenteras: ingen, Jacksons @JsonProperty eller Gsons @SerializedName, varje bär den ursprungliga JSON-nyckeln så att serialiseringen fortfarande matchar efter att ett fält har döpts om till camelCase. Stäng av getters och setters för en enkel klass med offentliga fält, eller ersätt dem med Lomboks @Data eller en Java record, där komponenter tar platsen för fält och accessorer. Wrapper-typer (Integer, Boolean, Double) kan framtvingas överallt istället för primitiver; verktyget använder alltid en wrapper där ett värde verkligen är valfritt, eftersom en primitiv aldrig kan innehålla null. En paketdeklaration läggs till när den tillhandahålls, och kapslade objekt renderas som statiskt kapslade klasser i en fil eller som separata klassdefinierade klasser.
När samma form förekommer mer än en gång – upprepade objekt i en array eller två syskonkällor med identisk struktur – återanvänder verktyget en enda genererad klass istället för att duplicera den. Fält som observeras med olika former över en array sammanfogas i en klass, med fält som saknas i vissa element markerade som valfria. Siffror förblir int där de passar inom ett 32-bitars intervall och utökas till långt eller dubbelt vid behov; en JSON-nyckel som inte är en giltig Java-identifierare, till exempel en emoji, faller tillbaka på ett säkert genererat namn.
Allt körs lokalt i din webbläsare – ditt JSON-exempel överförs aldrig eller skickas till en server. Kopiera de genererade klasserna till ditt projekt, ladda ned dem som en .txt-fil eller skicka utmatningen tillbaka till inmatningen för att köra ett annat verktyg på den.