Collez le Java à gauche et cliquez sur "Convert" — on le transforme en JSONCollez du code Java

Ce que fait cet outil

Vous avez un record Java ou un POJO classique, et il vous faut un payload JSON qui colle avec — pour un request body, un exemple OpenAPI ou une fixture de test. Collez la classe plus un appel de constructeur (ou un var order = new Order(...) en Java 10+) et vous récupérez du JSON avec la forme que Jackson ou Gson produiraient, sans avoir à instancier quoi que ce soit.

L'outil suit le vrai comportement du sérialiseur, pas juste du remplacement de chaînes. BigDecimal devient un nombre JSON sans le wrapper BigDecimal(...), OffsetDateTime / LocalDateTime / Instant sortent en chaînes ISO-8601 selon la RFC 8259, UUID est un hex standard 8-4-4-4-12, boolean reste boolean, et les collections (List, Set, tableaux) s'aplatissent en tableaux JSON. Map<String, V> devient un objet JSON dont les clés sont les entrées de la map.

Les annotations Jackson sont respectées : @JsonProperty("x") renomme la clé, @JsonIgnore supprime le champ et @JsonInclude(Include.NON_NULL) masque les nulls. Les classes imbriquées — le classique Address dans un Order — sont développées sur place. Collez un fichier entier avec plusieurs classes ; chaque instance de premier niveau ressort comme sa propre entrée. Pour la référence complète des annotations, voir la doc jackson-annotations.

Comment l'utiliser

Trois étapes. Ça marche que vous colliez un record d'une ligne ou un fichier de modèle entier.

1

Collez votre Java (ou essayez l'exemple)

Déposez la classe plus un appel de constructeur dans l'éditeur de gauche. Un POJO avec getters/setters, un record, une classe Lombok @Data ou plusieurs classes — tout passe. Cliquez sur Load Sample si vous voulez un point de départ réaliste.

Pas besoin de supprimer les déclarations package, les imports ou les modificateurs public/private. Laissez la syntaxe Java standard tranquille. Les annotations Jackson, les annotations de validation et les décorations Lombok sont toutes acceptées.

2

Cliquez sur Convert

Cliquez sur le bouton vert Convert. L'outil lit la classe, résout les arguments du constructeur, applique les annotations Jackson de renommage/ignore et produit du JSON indenté.

3

Copiez le JSON

Le panneau de droite affiche du JSON prêt pour une requête Spring Boot, une fixture JUnit ou un exemple Swagger. Copiez-le où vous en avez besoin.

Quand ça sert vraiment

Samples de requêtes Spring Boot

Collez un DTO <code>@RequestBody</code> et un appel de constructeur pour récupérer un body JSON à envoyer avec Postman, curl ou HTTPie sans démarrer l'app.

Fixtures de tests JUnit

Convertissez un objet construit dans un test unitaire en fichier JSON autonome pour des tests d'intégration, des stubs WireMock ou des données seed Testcontainers.

Exemples OpenAPI / Swagger

Utilisez une vraie classe de modèle pour produire le bloc <code>example</code> de votre spec OpenAPI — comme ça l'exemple ne dérive jamais du POJO réel.

Payloads Kafka et messaging

Transformez un record qui représente un message Kafka en JSON pour tester un producer, avoir des données d'exemple ou faire de la doc.

Questions fréquentes

Est-ce que ça respecte les annotations Jackson ?

Oui. @JsonProperty renomme les champs, @JsonIgnore les retire, @JsonInclude(Include.NON_NULL) masque les nulls, et @JsonFormat contrôle le format des dates. Voir la référence jackson-annotations pour la liste complète.

Comment sont gérés BigDecimal, LocalDateTime et UUID ?

BigDecimal devient un nombre JSON. LocalDateTime, OffsetDateTime et Instant deviennent des chaînes ISO-8601. UUID est un hex standard 8-4-4-4-12. LocalDate est YYYY-MM-DD. Ça correspond aux défauts du JavaTimeModule de Jackson.

Ça marche avec les records et les types sealed ?

Oui. Les record Java 14+ se sérialisent via leurs composants canoniques. Les types sealed et leurs sous-types autorisés sont aplatis à la forme des données sous-jacentes. Voir la JEP records d'OpenJDK pour le contexte.

Et les classes Lombok @Data / @Builder ?

Les annotations Lombok sont reconnues — les getters, setters et builders générés sont traités comme des accesseurs normaux. L'outil regarde les champs déclarés plus l'appel de constructeur que vous collez pour construire le JSON.

Je peux coller un fichier entier avec plusieurs classes ?

Oui. Chaque classe de premier niveau ayant une instance dans ce que vous collez ressort comme sa propre entrée dans le JSON. Les classes internes/statiques imbriquées sont développées inline là où elles sont utilisées.

Mon code est-il stocké ?

Le code est envoyé au backend uniquement pour être converti, il n'est ni persisté ni logué. Comme avec tout outil en ligne, relisez avant de coller quelque chose de vraiment sensible.

Autres outils qui pourraient vous servir

Java vers JSON n'est qu'une pièce du puzzle. Voici les outils qui s'y marient bien :