JSON-zu-Java-Konverter
Erzeuge Java-POJO-Klassen aus einem JSON-Beispiel direkt in deinem Browser.
Dieses Tool läuft vollständig in deinem Browser. Deine Dateien werden niemals auf einen Server hochgeladen.
import java.util.List;
public class Root {
private String name;
private Integer age;
private Boolean active;
private List<String> tags;
private Address address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getActive() {
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
public List<String> getTags() {
return tags;
}
public void setTags(List<String> tags) {
this.tags = tags;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
public class Address {
private String street;
private String zip;
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getZip() {
return zip;
}
public void setZip(String zip) {
this.zip = zip;
}
}Was dieser Konverter macht
Liest einen JSON-Wert und erzeugt passende Java-Klassen: eine einfache Klasse (POJO) pro im Beispiel gefundener Objektform, jeweils mit privaten Feldern und öffentlichen Getter-/Setter-Methoden.
So wird er verwendet
Füge ein JSON-Objekt, -Array oder einen primitiven Wert in den Editor ein. Sofort erscheint eine `Root`-Klasse, dazu eine weitere Klasse für jede verschachtelte Objektform; eine Wurzel, die kein Objekt ist, wird in eine `Root`-Klasse mit einem einzelnen `value`-Feld verpackt.
Beispiel
Ein Objekt mit einem String-Feld `name` und einem verschachtelten Objekt `address` erzeugt eine `Root`-Klasse mit einem privaten Feld `String name` sowie `getName`/`setName`-Methoden und eine separate `Address`-Klasse für die verschachtelte Form.
Typzuordnung
Strings werden zu `String`, ganze Zahlen zu `Integer`, Dezimalzahlen zu `Double`, Booleans zu `Boolean` und Arrays zu `List<ElementType>` (mit automatisch hinzugefügtem `java.util.List`-Import bei Bedarf). Als `null` erfasste Werte werden als `Object` typisiert.
Verschachtelte Objekte und Listen
Jedes verschachtelte Objekt erhält seine eigene Klasse, erzeugt aus seinem Schlüssel. Die Reihenfolge der Klassen in der Ausgabe spielt in Java keine Rolle, da sich Klassen derselben Datei unabhängig von ihrer Deklarationsreihenfolge gegenseitig referenzieren können.
Grenzen
Die erzeugten Klassen beschreiben nur das eine bereitgestellte JSON-Beispiel, verwenden der Einfachheit halber durchgängig Wrapper-Typen (also keine primitiven int/double/boolean-Felder) und enthalten weder Konstruktor noch equals/hashCode, toString oder JSON-(De-)Serialisierungs-Annotationen — ergänze bei Bedarf eine Bibliothek wie Jackson oder Gson.
Datenschutz
Analyse und Codeerzeugung laufen vollständig lokal in deinem Browser. Das eingefügte JSON und der erzeugte Java-Code werden niemals hochgeladen.
Häufig gestellte Fragen
- Enthalten die erzeugten Klassen Annotationen einer JSON-Bibliothek?
- Nein — es sind einfache POJOs mit privaten Feldern und Gettern/Settern; kombiniere sie für echte JSON-(De-)Serialisierung mit einer Bibliothek wie Jackson oder Gson.
- Warum sind die Felder Integer/Double statt int/double?
- Wrapper-Typen halten den erzeugten Code auch für potenziell null-fähige Felder einfach und konsistent, auf Kosten eines kleinen Autoboxing-Overheads.
- Wird mein JSON an einen Server gesendet?
- Nein — Analyse und Java-Erzeugung laufen vollständig lokal in deinem Browser.