Incolla il Java a sinistra e clicca "Convert" — lo trasformiamo in JSONIncolla il codice Java

Cosa fa questo strumento

Hai un record Java o un classico POJO, e ti serve un payload JSON che gli corrisponda — per un request body, un esempio OpenAPI o una fixture di test. Incolla la classe insieme a una chiamata al costruttore (o un var order = new Order(...) se sei su Java 10+) e ricevi il JSON nella forma che Jackson o Gson serializzerebbero, senza dover istanziare niente.

Lo strumento segue il comportamento reale del serializzatore, non è un banale find-and-replace. BigDecimal diventa un numero JSON senza il wrapper BigDecimal(...), OffsetDateTime / LocalDateTime / Instant escono come stringhe ISO-8601 secondo la RFC 8259, UUID è una stringa hex standard 8-4-4-4-12, boolean resta boolean, e le collezioni (List, Set, array) vengono appiattite in array JSON. Map<String, V> diventa un oggetto JSON con le entry della map come chiavi.

Le annotazioni Jackson vengono rispettate: @JsonProperty("x") rinomina la chiave, @JsonIgnore rimuove il campo e @JsonInclude(Include.NON_NULL) sopprime i null. Le classi annidate — la classica Address dentro un Order — vengono espanse sul posto. Incolla un intero file con più classi; ogni istanza top-level finisce come una sua entry. Per il reference completo delle annotazioni guarda i docs di jackson-annotations.

Come si usa

Tre passi. Funziona sia che tu incolli un record da una riga sia un file di modello intero.

1

Incolla il tuo Java (o prova l'esempio)

Butta la classe e una chiamata al costruttore nell'editor a sinistra. Un POJO con getter/setter, un record, una classe Lombok @Data o più classi — va bene tutto. Clicca Load Sample se vuoi un punto di partenza realistico.

Non serve cancellare le dichiarazioni package, gli import o i modificatori public/private. Lascia la sintassi Java standard così com'è. Annotazioni Jackson, annotazioni di validazione e decorazioni Lombok sono tutte accettate.

2

Premi Convert

Clicca il pulsante verde Convert. Lo strumento legge la classe, risolve gli argomenti del costruttore, applica eventuali annotazioni Jackson di rename/ignore e produce JSON indentato.

3

Copia il JSON

Il pannello a destra mostra JSON pronto per una request Spring Boot, una fixture JUnit o un example Swagger. Copialo dove ti serve.

Quando torna davvero utile

Sample di request Spring Boot

Incolla un DTO <code>@RequestBody</code> e una chiamata al costruttore per ottenere un body JSON da sparare su Postman, curl o HTTPie senza avviare l'app.

Fixture di test JUnit

Converte un oggetto che costruisci in uno unit test in un file JSON autonomo per test di integrazione, stub WireMock o dati seed di Testcontainers.

Esempi OpenAPI / Swagger

Usa una classe modello reale per generare il blocco <code>example</code> della tua spec OpenAPI — così l'esempio resta sempre allineato col POJO vero.

Payload Kafka e messaging

Trasforma un record che rappresenta un messaggio Kafka in JSON per testare il producer, avere sample data o fare documentazione.

Domande frequenti

Rispetta le annotazioni Jackson?

Sì. @JsonProperty rinomina i campi, @JsonIgnore li rimuove, @JsonInclude(Include.NON_NULL) sopprime i null e @JsonFormat controlla il formato delle date. Vedi il reference jackson-annotations per la lista completa.

Come gestisce BigDecimal, LocalDateTime e UUID?

BigDecimal diventa un numero JSON. LocalDateTime, OffsetDateTime e Instant diventano stringhe ISO-8601. UUID è una stringa hex standard 8-4-4-4-12. LocalDate è YYYY-MM-DD. Corrisponde ai default del JavaTimeModule di Jackson.

Funziona con record e tipi sealed?

Sì. I record di Java 14+ si serializzano usando i loro canonical component. I tipi sealed e i sottotipi permessi vengono appiattiti sulla forma dei dati sottostanti. Per il contesto vedi la JEP record di OpenJDK.

E le classi Lombok @Data / @Builder?

Le annotazioni Lombok sono riconosciute — getter, setter e builder generati vengono trattati come normali accessor. Lo strumento guarda i campi dichiarati più la chiamata al costruttore che incolli per costruire il JSON.

Posso incollare un intero file con più classi?

Sì. Ogni classe top-level che ha un'istanza in ciò che incolli finisce come una sua entry nel JSON. Le classi interne/annidate static vengono espanse inline dove sono usate.

Il mio codice viene salvato?

Il codice va al backend solo per essere convertito, non viene persistito né loggato. Come con qualunque tool online, ricontrolla prima di incollare roba veramente sensibile.

Altri strumenti che potrebbero servirti

Java a JSON è solo un pezzo del puzzle. Questi sono gli strumenti che ci stanno bene insieme: