← Alle Tools Code Gen

JSON zu Java Klassen Generator

JSON einfügen und sofort produktionsreife Java-Klassen mit korrekten Typen und Annotationen erhalten.

POJO-, Record- und Jackson-Ausgabemodi

Plain Old Java Objects (POJOs) sind das kompatibleste Ausgabeformat: private Felder mit öffentlichen Gettern und Settern, ein No-Arg-Konstruktor und ein Allargs-Konstruktor. Dieses Muster wird von jeder Java-Serialisierungsbibliothek verstanden — Jackson, Gson, Moshi — und von jedem Java-Framework.

Java 16+ Records erzeugen kompakteren Code für unveränderliche Datenträger. Eine Record-Deklaration generiert automatisch den Konstruktor, Getter (nach dem Komponent benannt, ohne "get"-Präfix), equals(), hashCode() und toString(). Records sind ideal für DTO- und Value-Object-Anwendungsfälle mit gewünschter Unveränderlichkeit.

Der Jackson-Annotationsmodus fügt @JsonProperty("originalKey") zu jedem Feld hinzu, damit Java-camelCase-Feldnamen auf JSON-Schlüssel in beliebigem Stil gemappt werden können. @JsonIgnoreProperties(ignoreUnknown = true) wird auf jede Klasse gesetzt um Deserialisierungsfehler zu verhindern wenn die API neue Felder hinzufügt. Die Ausgabe ist direkt mit Spring Boot's @RequestBody und RestTemplate nutzbar.

Typ-Mapping und Namenskonventionen

JSON-Zeichenketten werden zu String, Ganzzahlen zu int (oder Integer für nullable), Dezimalzahlen zu double (oder Double), Booleans zu boolean (oder Boolean), null-only-Felder zu Object mit Kommentar. Arrays werden zu List<T> mit dem abgeleiteten Element-Klassen-Typ. Verschachtelte Objekte generieren separate PascalCase-Klassen nach ihrem Schlüssel.

JSON-Schlüssel werden automatisch in gültige Java-Bezeichner umgewandelt: Bindestriche und Leerzeichen werden entfernt, das folgende Zeichen wird großgeschrieben (camelCase). Schlüssel die mit Ziffern beginnen erhalten einen Unterstrich-Präfix. Reservierte Java-Wörter werden mit einem Unterstrich-Suffix escaped.

Die Package-Deklaration oben in jeder Datei lautet standardmäßig "com.example.model" ist aber anpassbar. Imports für java.util.List und Jackson-Annotationen werden nach Bedarf automatisch hinzugefügt.

Spring Boot und Enterprise-Integration

Spring Boot-Anwendungen die REST-APIs konsumieren benötigen typisierte Anfrage- und Antwortklassen. Fügen Sie den JSON-Vertrag aus der API-Dokumentation ein, generieren Sie Jackson-annotierte POJOs und binden Sie sie in Ihre Service-Schicht ein.

Lombok-Annotationen (@Data, @NoArgsConstructor, @AllArgsConstructor, @Builder) können der POJO-Ausgabe hinzugefügt werden um den Getter/Setter-Boilerplate zu eliminieren. Mit Lombok schrumpft das generierte POJO auf bloße Felddeklarationen und Klassenebenen-Annotationen.

Bei der JPA- oder Hibernate-Integration dienen die generierten POJOs als Ausgangspunkt für Entity-Klassen. Das Hinzufügen von @Entity, @Id und @Column über die generierte Ausgabe liefert einen ersten Entwurf einer JPA-Entity aus Ihrem JSON-Datenmodell.

FAQ

Werden meine Daten an einen Server gesendet?

Nein. Die gesamte Verarbeitung findet vollständig in Ihrem Browser statt. Ihr JSON verlässt Ihr Gerät nie.

Welchen Ausgabemodus soll ich verwenden?

Verwenden Sie POJO für maximale Kompatibilität und wenn Sie Veränderlichkeit benötigen. Verwenden Sie Records für unveränderliche DTOs in Java 16+. Verwenden Sie den Jackson-Modus wenn Ihre Anwendung externe REST-APIs konsumiert.

Wie werden Java-reservierte Wörter als Feldnamen behandelt?

Reservierte Wörter wie "class", "interface", "default" und "new" erhalten einen Unterstrich-Suffix (z.B. class_) und eine @JsonProperty-Annotation bewahrt den ursprünglichen JSON-Schlüssel.

Unterstützt der Generator Lombok?

Ja. Aktivieren Sie den Lombok-Toggle um explizite Getter, Setter und Konstruktoren durch @Data, @NoArgsConstructor und @AllArgsConstructor Annotationen zu ersetzen.

Welche Java-Version wird angesteuert?

Die Standardausgabe zielt auf Java 11 (mit List<T> aus java.util). Ein Java 16+-Modus wechselt die POJO-Ausgabe zu Records. Ein Java 8-Kompatibilitätsmodus vermeidet var und andere moderne Funktionen.

Ähnliche Tools