Convertisseur JSON vers Java

Générez des classes POJO Java à partir d'un exemple JSON directement dans votre navigateur.

Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers ne sont jamais envoyés à un serveur.

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;
    }
}

Ce que fait ce convertisseur

Lit une valeur JSON et génère les classes Java correspondantes : une classe simple (POJO) par forme d'objet trouvée dans l'exemple, avec des champs privés et des méthodes getter/setter publiques.

Mode d'emploi

Collez un objet, un tableau ou une valeur primitive JSON dans l'éditeur. Une classe `Root` apparaît immédiatement, avec une classe supplémentaire pour chaque forme d'objet imbriquée ; une racine qui n'est pas un objet est enveloppée dans une classe `Root` avec un seul champ `value`.

Exemple

Un objet avec une chaîne `name` et un objet imbriqué `address` produit une classe `Root` avec un champ privé `String name` et des méthodes `getName`/`setName`, ainsi qu'une classe `Address` distincte pour la forme imbriquée.

Correspondance des types

Les chaînes deviennent `String`, les entiers `Integer`, les décimaux `Double`, les booléens `Boolean` et les tableaux `List<ElementType>` (avec l'import `java.util.List` ajouté automatiquement si nécessaire). Les valeurs d'exemple `null` sont typées `Object`.

Objets imbriqués et listes

Chaque objet imbriqué reçoit sa propre classe, générée à partir de sa clé. L'ordre des classes dans la sortie n'a pas d'importance en Java, puisque les classes d'un même fichier peuvent se référencer entre elles quel que soit leur ordre de déclaration.

Limites

Les classes générées ne décrivent que l'exemple JSON fourni, utilisent partout des types encapsulés (boxed) par simplicité (donc pas de champs primitifs int/double/boolean) et n'incluent ni constructeur, ni equals/hashCode, ni toString, ni annotation de (dé)sérialisation JSON — ajoutez une bibliothèque comme Jackson ou Gson si nécessaire.

Confidentialité

L'analyse et la génération de code s'exécutent entièrement dans votre navigateur. Le JSON collé et le Java généré ne sont jamais transférés.

Questions Fréquentes

Les classes générées incluent-elles des annotations d'une bibliothèque JSON ?
Non — ce sont de simples POJO avec champs privés et getters/setters ; associez-les à une bibliothèque comme Jackson ou Gson pour une véritable (dé)sérialisation JSON.
Pourquoi les champs sont-ils Integer/Double plutôt que int/double ?
Les types encapsulés gardent le code généré simple et cohérent même pour des champs potentiellement null, au prix d'une légère surcharge d'autoboxing.
Mon JSON est-il envoyé à un serveur ?
Non — l'analyse et la génération Java s'effectuent entièrement dans votre navigateur.