Hoppa till innehåll
100% lokalt

JSON till Java-klass

Omvandla ett JSON-exempel till Java-klasser med automatiskt härledda kapslade typer och generiska listor.

Inmatning
Utmatning

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.

FAQ

Hanterar det kapslade objekt och arrayer?
Ja. Kapslade objekt blir sin egen klass (kapslad eller separat, beroende på klassstrukturalternativet) och arrayer blir en generisk java.util.List av den härledda elementtypen.
Vad händer med ett fält som saknas i vissa exempelobjekt?
Det markeras som valfritt och, om det är en primitiv, uppgraderas till dess wrapper-typ (Integer, Boolean, Double) så att fältet kan vara null.
Kan jag använda Lombok eller Java records istället för manuella getters och setters?
Ja. Aktivera Lombok @Data för en klass kommenterad med @Data och privata fält, eller använd en Java record för att generera en post med fälten som komponenter – båda ersätter handskrivna accessorer.
Hur väljs fältnamn när en JSON-nyckel inte är en giltig Java-identifierare?
Nyckeln konverteras till camelCase; en nyckel som producerar ett tomt eller nyckelord-kolliderar namn faller tillbaka till ett säkert genererat namn som field eller ett nyckelord med ett avslutande understreck.
Överförs min JSON någonstans?
Nej. Klassgenereringen körs helt i din webbläsare – ditt JSON-exempel skickas aldrig till en server.