Transformez un échantillon JSON en POJO, records ou classes Lombok Java annotés pour Jackson
Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part. Vérifié le 16 octobre 2026.Collez un échantillon JSON et obtenez des classes Java annotées pour Jackson, sous forme de POJO avec getters et setters, de records ou de Lombok @Data. Les nombres entiers deviennent int, long au-delà de 2 147 483 647, la moindre décimale rend un champ double, et une valeur null ou absente utilise le type enveloppe, comme Integer.
Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais
Collez un échantillon JSON, par exemple une réponse d'API, dans la zone de gauche.
Le Java apparaît pendant la saisie : un seul Root.java avec une classe statique imbriquée par objet, des champs en camelCase et @JsonProperty là où une clé diffère.
Choisissez POJO avec getters et setters, un record (Java 16+) ou Lombok @Data, et indiquez le nom de la classe racine.
Cliquez sur Copier, ou sur Télécharger pour enregistrer Root.java, puis lisez le JSON avec l'ObjectMapper de Jackson.
Java lit le JSON dans des classes, le plus souvent avec Jackson, et chaque objet du JSON a besoin d'une classe dont les champs ont les bons types et les bons noms. Ce convertisseur écrit ces classes à partir d'un échantillon : une longue réponse d'API devient du Java qui compile en un seul collage.
Comment les types sont choisis.
| Valeur JSON | Type Java |
|---|---|
| "text" | String |
| true / false | boolean |
| 42 (nombres entiers uniquement) | int, ou long au-delà de 32 bits |
| 4.5 (au moins une décimale vue) | double |
| null, ou absent de certains éléments | Integer, Boolean, Double |
| null seul, ou types mélangés | Object |
| [ ... ] | List<...> |
| { } vide | Map<String, Object> |
| { ... } | une classe statique imbriquée |
Un seul fichier. Le résultat est un unique Root.java : la classe racine contient toutes les autres sous forme de classes public static imbriquées, que Jackson sait créer et qui ne demandent aucun fichier supplémentaire. Quand le JSON est un tableau ou une valeur isolée, un commentaire indique le type dans lequel le lire, comme List<Root.RootItem>.
Noms et clés. Les champs sont en camelCase : user_name devient userName, avec @JsonProperty("user_name") qui garde la clé. Les mots-clés Java reçoivent un tiret bas, comme class_. Un champ comme xCoord est écrit xcoord, car Jackson l'associerait sinon au getter getXCoord sous un autre nom. Une clé vide est ignorée avec @JsonIgnoreProperties, puisque Jackson ne peut pas la nommer.
Trois styles. Un POJO a des champs privés, des getters et des setters et fonctionne partout. Un record (Java 16+) est court et immuable. Lombok @Data garde les champs et laisse Lombok écrire le reste.
Le résultat POJO de 9 échantillons a été compilé avec javac et lu par Jackson 2.17, les clés inconnues et les null dans les types primitifs étant traités comme des erreurs. Rien de ce que vous collez ne quitte le navigateur.
Collez un échantillon JSON dans le convertisseur et le Java apparaît à côté : un seul Root.java avec une classe statique imbriquée pour chaque objet. Ajoutez Jackson au projet et lisez le JSON avec new ObjectMapper().readValue(json, Root.class), qui remplit chaque champ à partir de sa clé.
Placer toutes les classes dans Root garde le modèle entier dans un fichier qui compile tel quel. Jackson ne peut créer une classe imbriquée que si elle est statique, car une classe interne a d'abord besoin d'une instance de sa classe externe : chaque classe imbriquée est donc déclarée public static.
Un champ utilise le type enveloppe, comme Integer, Long, Double ou Boolean, quand l'échantillon le montre à null ou que certains objets omettent la clé. Un int primitif ne peut pas contenir null, et une clé absente deviendrait silencieusement 0 : le type enveloppe distingue donc une valeur absente du zéro.
Les records, depuis Java 16, sont les plus courts et immuables, et Jackson 2.12 ou ultérieur les lit directement. Un POJO avec getters et setters fonctionne sur toute version de Java et avec toutes les bibliothèques. Le @Data de Lombok écrit les getters et setters pour vous à la compilation, ce qui garde le source court.
Jackson trouve les propriétés par les getters, et nomme getXCoord xcoord en abaissant les majuscules initiales. Un champ appelé xCoord ne rejoindrait alors pas son propre getter, et la propriété se scinderait en deux. Le champ s'appelle xcoord, avec @JsonProperty("xCoord") qui garde la clé d'origine.
Non. La conversion s'exécute dans votre navigateur sans aucune requête vers un serveur, et le JSON n'est pas conservé : les réponses d'API contenant des jetons ou des données personnelles restent sur votre appareil. Fermez l'onglet et il ne reste rien.
Les taux et les règles changent ; vérifiez la source avant de vous fier à un chiffre.
Toujours bloqué ? Poser une question sur Convertisseur JSON en classes Java et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.