Tool von Tool Kumar
JSON in Java konvertieren
Konvertiere ein API-Beispiel in Java-Records für Jackson. Der Stammtyp ist ein öffentlicher Record, der die verschachtelten Records enthält. So kannst du die Ausgabe in Root.java speichern.
So verwendest du dieses Tool
- Füge eine repräsentative Antwort ein, auch mit Datensätzen, deren Felder sich unterscheiden.
- Prüfe die generierte Ausgabe und ändere bei Bedarf den Stammnamen.
- Kopiere den Code oder lade ihn herunter. Prüfe anschließend die Typen anhand deines API-Vertrags.
Praxisbeispiel
Diese Ausgabe stammt aus dem integrierten Konverter. Aus den beiden Artikelpreisen wird ein Gleitkommafeld abgeleitet. Die Werte null und ein String im Feld note ergeben ein Feld, das null sein kann.
Eingabe
{
"user-id": 42,
"profile": {
"city": "London",
"created_at": "2026-10-14T09:00:00Z"
},
"items": [
{
"price": 12,
"note": null
},
{
"price": 12.5,
"note": "gift"
}
]
}Ausgabe
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public record Root(
@JsonProperty("user-id") long userId,
Profile profile,
List<Item> items
) {
public record Profile(String city, @JsonProperty("created_at") String createdAt) {}
public record Item(double price, String note) {}
}
Den Record mit Jackson verwenden
Speichere die Standardausgabe als Root.java. Jackson erstellt die Record-Komponenten aus den JSON-Eigenschaften. Ein verschachtelter Record wie Item ist als Root.Item verfügbar.
Die Ausgabe enthält keine package-Deklaration. Ergänze das Package deiner Anwendung. Registriere deine üblichen Jackson-Module, wenn du Datumswerte auf java.time-Typen umstellst.
import com.fasterxml.jackson.databind.ObjectMapper;
Root model = new ObjectMapper().readValue(responseBody, Root.class);Optionen und Sonderfälle
- Dieses Ausgabeformat erzeugt Records, keine veränderbaren POJOs mit Settern. Verwende Java 16 oder neuer und eine Jackson-Version mit Record-Unterstützung, etwa 2.12 oder neuer.
- Umbenannte Record-Komponenten oder Komponenten mit reservierten Namen erhalten @JsonProperty mit dem ursprünglichen Schlüssel. Verschachtelte Objektarrays werden zu List<Item>.
- Ganzzahlen verwenden long, große Ganzzahlen jenseits des vorzeichenbehafteten 64-Bit-Bereichs BigInteger und Brüche double. Primitive Typen, die null sein können, verwenden Wrapper-Typen wie Long.
- Felder mit ausschließlich null oder gemischten Typen verwenden Object. Datumswerte bleiben String. Verwende BigDecimal und eine geprüfte Zuordnung, wenn exakte Dezimalrechnung wichtig ist.
Standardmäßig privat
Dein Dokument bleibt in diesem Browser. Tool Kumar parst und konvertiert Daten und erstellt Downloads auf deinem Gerät, ohne Konto und ohne Upload.
JSON in Java konvertieren: häufige Fragen
- Generiert der Konverter Java-POJOs?
- Er generiert unveränderliche Java-Records. Wenn du Java-8-POJOs, Setter oder einen parameterlosen Konstruktor brauchst, passe die Ausgabe an oder verwende einen Generator für diesen Modellstil.
- Für welche JSON-Bibliothek ist die Ausgabe gedacht?
- Jackson. Der Konverter importiert @JsonProperty, wenn ein Schlüssel erhalten bleiben muss, der vom Java-Komponentennamen abweicht.
- Kann ich alle verschachtelten Typen in einer Datei speichern?
- Ja. Der öffentliche Stamm-Record enthält verschachtelte öffentliche Records. Die Standardausgabe für ein Objekt passt daher in Root.java.
- Wie deserialisiere ich den Record?
- Verwende ObjectMapper.readValue(responseBody, Root.class) mit Jackson-Record-Unterstützung. Prüfe die Datumsverarbeitung und Zahlengrenzen für deine API.
Verwandte Tools
Kotlin-Data-Class aus JSON generieren, C#-Klassen aus JSON generieren und JSON Schema generieren.