Machen Sie aus einem JSON-Beispiel Java-POJOs, Records oder Lombok-Klassen mit Jackson-Annotationen
Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.Fügen Sie ein JSON-Beispiel ein und erhalten Sie Java-Klassen mit Jackson-Annotationen, als POJOs mit Gettern und Settern, als Records oder mit Lombok @Data. Ganze Zahlen werden zu int, über 2.147.483.647 zu long, jede Dezimalzahl macht ein Feld zu double, und ein Wert, der null ist oder fehlt, nutzt den Wrapper-Typ, etwa Integer.
Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen
Fügen Sie ein JSON-Beispiel, etwa eine API-Antwort, in das linke Feld ein.
Das Java erscheint während der Eingabe: eine Root.java mit einer verschachtelten statischen Klasse pro Objekt, Feldern in camelCase und @JsonProperty, wo ein Schlüssel abweicht.
Wählen Sie POJO mit Gettern und Settern, einen Record (Java 16+) oder Lombok @Data und legen Sie den Namen der Wurzelklasse fest.
Klicken Sie auf Kopieren oder auf Herunterladen, um Root.java zu speichern, und lesen Sie das JSON mit dem ObjectMapper von Jackson.
Java liest JSON in Klassen ein, meist mit Jackson, und jedes Objekt im JSON braucht eine Klasse, deren Felder die richtigen Typen und Namen haben. Dieser Konverter schreibt diese Klassen aus einem Beispiel, sodass eine lange API-Antwort mit einem Einfügen zu kompilierbarem Java wird.
Wie die Typen gewählt werden.
| JSON-Wert | Java-Typ |
|---|---|
| "text" | String |
| true / false | boolean |
| 42 (nur ganze Zahlen) | int, oder long über 32 Bit hinaus |
| 4.5 (irgendeine Dezimalzahl gesehen) | double |
| null oder in manchen Elementen fehlend | Integer, Boolean, Double |
| nur null oder gemischte Arten | Object |
| [ ... ] | List<...> |
| { } leer | Map<String, Object> |
| { ... } | eine verschachtelte statische Klasse |
Eine Datei. Die Ausgabe ist eine einzige Root.java: Die Wurzelklasse enthält jede andere Klasse als public static verschachtelte Klasse, die Jackson erzeugen kann und die keine weiteren Dateien braucht. Ist das JSON ein Array oder ein einzelner Wert, nennt ein Kommentar den Typ zum Einlesen, etwa List<Root.RootItem>.
Namen und Schlüssel. Felder stehen in camelCase, sodass aus user_name userName wird, wobei @JsonProperty("user_name") den Schlüssel bewahrt. Java-Schlüsselwörter erhalten einen Unterstrich, etwa class_. Ein Feld wie xCoord wird xcoord geschrieben, weil Jackson es sonst unter anderem Namen mit dem Getter getXCoord verbinden würde. Ein leerer Schlüssel wird mit @JsonIgnoreProperties ignoriert, da Jackson ihn nicht benennen kann.
Drei Stile. Ein POJO hat private Felder, Getter und Setter und funktioniert überall. Ein Record (Java 16+) ist kurz und unveränderlich. Lombok @Data behält die Felder und lässt Lombok den Rest schreiben.
Die POJO-Ausgabe für 9 Beispiele wurde mit javac kompiliert und von Jackson 2.17 gelesen, wobei unbekannte Schlüssel und null in primitiven Typen als Fehler galten. Nichts, was Sie einfügen, verlässt den Browser.
Fügen Sie ein JSON-Beispiel in den Konverter ein, und das Java erscheint daneben: eine Root.java mit einer verschachtelten statischen Klasse für jedes Objekt. Fügen Sie Jackson zum Projekt hinzu und lesen Sie das JSON mit new ObjectMapper().readValue(json, Root.class), das jedes Feld aus seinem Schlüssel befüllt.
Alle Klassen in Root zu legen, hält das ganze Modell in einer Datei, die so kompiliert, wie sie ist. Jackson kann eine verschachtelte Klasse nur erzeugen, wenn sie statisch ist, weil eine innere Klasse zuerst eine Instanz ihrer äußeren Klasse braucht, daher ist jede verschachtelte Klasse public static deklariert.
Ein Feld nutzt den Wrapper-Typ, etwa Integer, Long, Double oder Boolean, wenn das Beispiel es als null zeigt oder manche Objekte den Schlüssel weglassen. Ein primitives int kann kein null halten, und ein fehlender Schlüssel würde stillschweigend zu 0, daher hält der Wrapper-Typ einen fehlenden Wert von null getrennt.
Records, ab Java 16, sind am kürzesten und unveränderlich, und Jackson ab 2.12 liest sie direkt. Ein POJO mit Gettern und Settern funktioniert auf jeder Java-Version und mit jeder Bibliothek. Lomboks @Data schreibt die Getter und Setter beim Kompilieren für Sie und hält den Quelltext kurz.
Jackson findet Eigenschaften über Getter und benennt getXCoord als xcoord, indem es die führenden Großbuchstaben verkleinert. Ein Feld namens xCoord würde dann seinen eigenen Getter nicht treffen, und die Eigenschaft zerfiele in zwei. Das Feld heißt xcoord, und @JsonProperty("xCoord") bewahrt den ursprünglichen Schlüssel.
Nein. Die Umwandlung läuft in Ihrem Browser ohne Anfrage an einen Server, und das JSON wird nicht gespeichert, sodass API-Antworten mit Tokens oder persönlichen Daten auf Ihrem Gerät bleiben. Schließen Sie den Tab, und nichts bleibt zurück.
Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.
Kommen Sie nicht weiter? Fragen Sie zu JSON-zu-Java-Klassen-Konverter und jeder, der es weiß, kann antworten. Kein Konto nötig.