JSON en classe Java
Convertissez un exemple JSON en classes Java, avec les types imbriqués et les listes génériques déduits automatiquement.
JSON en classe Java
Collez un exemple JSON et cet outil génère les classes Java nécessaires pour le représenter, en déduisant les types de champs, les types d'objets imbriqués et les types d'éléments de listes génériques directement à partir des valeurs que vous fournissez. Il est conçu pour les développeurs backend qui reçoivent une réponse API ou un fichier de configuration et ont besoin d'un modèle typé pour le désérialiser, sans écrire manuellement chaque champ.
Choisissez comment les champs sont annotés : aucune annotation, @JsonProperty de Jackson, ou @SerializedName de Gson, chacune portant la clé JSON d'origine pour que la sérialisation corresponde toujours après qu'un champ soit renommé en camelCase. Désactivez les getters et setters pour une classe simple avec des champs publics, ou remplacez-les par @Data de Lombok ou un record Java, où les composants remplacent les champs et les accesseurs. Les types wrapper (Integer, Boolean, Double) peuvent être forcés partout au lieu des primitifs ; l'outil utilise toujours un wrapper où une valeur est véritablement optionnelle, puisqu'un primitif ne peut jamais contenir null. Une déclaration de package est ajoutée lorsqu'elle est fournie, et les objets imbriqués s'affichent en tant que classes imbriquées statiques dans un seul fichier ou en tant que classes de haut niveau séparées.
Lorsque la même forme apparaît plusieurs fois — objets répétés dans un tableau, ou deux champs frères avec une structure identique — l'outil réutilise une seule classe générée au lieu de la dupliquer. Les champs observés avec différentes formes dans un tableau sont fusionnés dans une classe, les champs absents de certains éléments étant marqués optionnels. Les nombres restent int lorsqu'ils s'adaptent à une plage 32 bits et s'élargissent à long ou double selon les besoins ; une clé JSON qui ne peut pas être un identifiant Java, comme un emoji, revient à un nom généré sûr.
Tout s'exécute localement dans votre navigateur — un exemple JSON n'est jamais chargé ou transmis à un serveur. Copiez les classes générées dans votre projet, téléchargez-les sous forme de fichier .txt, ou renvoyez la sortie à l'entrée pour exécuter un autre outil dessus.