UTILS.
100% in de browser

JSON naar Java POJO

Maak Java POJO-klassen uit een JSON-voorbeeld, met Jackson- of Gson-annotaties, gegenereerde getters en setters, en boxed types voor nullable velden.

uitvoer

Over deze tool

De tool JSON naar Java POJO zet een geplakte JSON-voorbeeld om in Java-modelklassen, zoals jsonschema2pojo dat doet maar direct in je browser. Het parseert de JSON, leidt Java-types recursief af en produceert één klasse per object: strings worden String, integers int of long, andere getallen double, booleans boolean, arrays List<T>, en geneste objecten hun eigen PascalCase-klassen gedeclareerd vóór de ouders die ze gebruiken.

Alle parsering en generatie draait lokaal met JSON.parse en gewoon JavaScript, dus je payloads verlaten de pagina nooit. Velden worden in camelCase gezet; wanneer de JSON-sleutel nog niet in camelCase is voegt de tool @JsonProperty("originalKey") (Jackson) of @SerializedName("originalKey") (Gson) toe, of niets in de modus met platte velden. Velden die in enig voorbeeld null kunnen zijn gebruiken de boxed wrappertypes (Integer, Long, Double, Boolean) zodat null representeerbaar is. Jackson-klassen dragen @JsonIgnoreProperties(ignoreUnknown = true) voor voorwaartse compatibiliteit.

De annotatiestijl-schakelaar selecteert Jackson (standaard), Gson, of geen annotaties, en alleen de daadwerkelijk gebruikte imports worden opgenomen. De accessors-schakelaar kiest tussen gegenereerde getX()/setX()-methoden op private velden (standaard) of platte public velden. Kopieer het resultaat of download het als een .java-bestand om direct in je project te plaatsen.

Veelgestelde vragen

Welke Java-types worden geproduceerd?
string naar String, integer naar int (long wanneer een waarde het int-bereik overschrijdt), niet-integer getal naar double, boolean naar boolean, array naar List<T>, en object naar een benoemde klasse. Velden die null kunnen zijn gebruiken boxed types — Integer, Long, Double, Boolean.
Jackson- of Gson-annotaties?
De annotatieschakelaar kiest Jackson (@JsonProperty, plus @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName), of geen. Annotaties worden alleen toegevoegd wanneer de camelCase-veldnaam afwijkt van de oorspronkelijke JSON-sleutel.
Krijg ik getters en setters?
Standaard krijgt elk private veld een gegenereerde getX() en setX(). Zet de accessors-schakelaar op platte public velden als je liever records-achtige kale velden zonder accessor-methoden hebt.
Wordt mijn JSON ergens verstuurd?
Nee. De JSON wordt geparseerd en de klassen worden volledig in je browser gegenereerd met gewoon JavaScript. Er wordt niets geüpload, dus je kunt interne API-responses veilig plakken.

Meer tools