← Todas las herramientas Code Gen

Generador de Clases Java desde JSON

Pega JSON y obtén al instante clases Java listas para producción con tipos y anotaciones correctos.

Modos de salida POJO, Record y Jackson

Los Plain Old Java Objects (POJOs) son el formato de salida más compatible: campos privados con getters y setters públicos, un constructor sin argumentos y un constructor con todos los argumentos. Este patrón es comprendido por todas las bibliotecas de serialización Java — Jackson, Gson, Moshi — y todos los frameworks Java.

Los records de Java 16+ producen código más conciso para portadores de datos inmutables. Una declaración de record genera automáticamente el constructor, getters (nombrados según el componente, sin el prefijo "get"), equals(), hashCode() y toString(). Los records son ideales para casos de uso DTO y objeto-valor donde se desea inmutabilidad.

El modo de anotación Jackson añade @JsonProperty("originalKey") a cada campo para que los nombres de campos Java en camelCase puedan mapearse a claves JSON en cualquier estilo de casing. @JsonIgnoreProperties(ignoreUnknown = true) se coloca en cada clase para evitar fallos de deserialización cuando la API añade nuevos campos. La salida está lista para usar con @RequestBody y RestTemplate de Spring Boot.

Mapeo de tipos y convenciones de nomenclatura

Las cadenas JSON se mapean a String, los enteros a int (o Integer para nullable), los decimales a double (o Double), los booleanos a boolean (o Boolean), los campos solo-null a Object con comentario. Los arrays se convierten en List<T> donde T es la clase de elemento inferida. Los objetos anidados generan clases separadas nombradas en PascalCase según su clave.

Las claves JSON se convierten automáticamente a identificadores Java válidos: los guiones y espacios se eliminan, el siguiente carácter se capitaliza (camelCase). Las claves que empiezan con dígitos obtienen un prefijo de guión bajo. Las palabras reservadas Java se escapan con un sufijo de guión bajo.

La declaración de paquete al principio de cada archivo es "com.example.model" por defecto pero se puede personalizar. Las importaciones para java.util.List y las anotaciones Jackson se añaden automáticamente según sea necesario.

Spring Boot e integración empresarial

Las aplicaciones Spring Boot que consumen APIs REST necesitan clases de solicitud y respuesta tipadas. Pega el contrato JSON de la documentación de la API, genera POJOs anotados con Jackson e incorpóralos en tu capa de servicio.

Las anotaciones Lombok (@Data, @NoArgsConstructor, @AllArgsConstructor, @Builder) se pueden añadir a la salida POJO para eliminar el código boilerplate de getters/setters. Con Lombok el POJO generado se reduce a solo las declaraciones de campos y las anotaciones a nivel de clase.

Al integrar con JPA o Hibernate, los POJOs generados sirven como punto de partida para las clases de entidad. Añadir @Entity, @Id y @Column encima de la salida generada da una primera versión de entidad JPA desde tu modelo de datos JSON.

FAQ

¿Se envían mis datos a un servidor?

No. Todo el procesamiento se ejecuta completamente en tu navegador. Tu JSON nunca sale de tu dispositivo.

¿Qué modo de salida debo usar?

Usa POJO para máxima compatibilidad y cuando necesites mutabilidad. Usa records para DTOs inmutables en Java 16+. Usa el modo Jackson cuando tu aplicación consume APIs REST externas.

¿Cómo se manejan las palabras reservadas de Java como nombres de campo?

Las palabras reservadas como "class", "interface", "default" y "new" reciben un guión bajo como sufijo (ej. class_) y una anotación @JsonProperty preserva la clave JSON original.

¿El generador soporta Lombok?

Sí. Activa el toggle de Lombok para reemplazar los getters, setters y constructores explícitos con las anotaciones @Data, @NoArgsConstructor y @AllArgsConstructor.

¿Qué versión de Java se tiene como objetivo?

La salida por defecto apunta a Java 11 (usando List<T> de java.util). Un modo Java 16+ cambia la salida POJO a records. Un modo de compatibilidad Java 8 evita var y otras características modernas.

Herramientas relacionadas