Conversor de Java a JSON
Pega un POJO, un record o una clase de Java. Recuperas JSON limpio.
Qué hace esta herramienta
Tienes un record de Java o un POJO de toda la vida, y necesitas un payload JSON que encaje con él — para un request body, un ejemplo de OpenAPI o una fixture de test. Pega la clase junto a una llamada al constructor (o un var order = new Order(...) si vas en Java 10+) y recibes el JSON con la misma forma que generaría Jackson o Gson, sin tener que instanciar nada.
La herramienta imita el comportamiento real del serializador, no hace simples reemplazos de texto. BigDecimal sale como número JSON sin el envoltorio BigDecimal(...), OffsetDateTime / LocalDateTime / Instant salen como cadenas ISO-8601 según la RFC 8259, UUID es un hex estándar 8-4-4-4-12, boolean se queda como boolean y las colecciones (List, Set, arrays) se aplanan a arrays JSON. Map<String, V> pasa a objeto JSON con las entradas del map como claves.
Las anotaciones de Jackson se respetan: @JsonProperty("x") renombra la clave, @JsonIgnore elimina el campo y @JsonInclude(Include.NON_NULL) suprime los nulls. Las clases anidadas — el típico Address dentro de un Order — se expanden en su sitio. Pega un archivo entero con varias clases; cada instancia de nivel raíz sale como su propia entrada. Para la referencia completa de anotaciones, mira la documentación de jackson-annotations.
Cómo usarla
Tres pasos. Da igual si pegas un record de una línea o un archivo de modelo entero.
Pega tu Java (o prueba el ejemplo)
Suelta la clase más una llamada al constructor en el editor de la izquierda. Un POJO con getters/setters, un record, una clase Lombok @Data o varias clases — todo vale. Dale a Load Sample si quieres un punto de partida realista.
No hace falta que borres los package, imports ni los modificadores public/private. Deja la sintaxis Java estándar tal cual. Se aceptan anotaciones de Jackson, anotaciones de validación y decoradores de Lombok.
Dale a Convert
Haz clic en el botón verde Convert. La herramienta lee la clase, resuelve los argumentos del constructor, aplica las anotaciones de Jackson de renombrado o ignore y produce JSON indentado.
Copia el JSON
El panel de la derecha muestra el JSON listo para una petición de Spring Boot, una fixture de JUnit o un ejemplo de Swagger. Cópialo donde lo necesites.
Cuándo viene bien de verdad
Samples de requests en Spring Boot
Pega un DTO de <code>@RequestBody</code> con una llamada al constructor y saca un body JSON para lanzarlo con Postman, curl o HTTPie sin arrancar la app.
Fixtures de tests JUnit
Convierte un objeto que construyes en un test unitario en un archivo JSON independiente para tests de integración, stubs de WireMock o datos semilla de Testcontainers.
Ejemplos de OpenAPI / Swagger
Usa una clase de modelo real para generar el bloque <code>example</code> de tu spec OpenAPI — así el ejemplo nunca se desincroniza del POJO de verdad.
Payloads de Kafka y mensajería
Convierte un record que representa un mensaje de Kafka en JSON para probar el producer, tener datos de ejemplo o documentarlo.
Preguntas frecuentes
¿Respeta las anotaciones de Jackson?
Sí. @JsonProperty renombra campos, @JsonIgnore los elimina, @JsonInclude(Include.NON_NULL) suprime los nulls y @JsonFormat controla el formato de fechas. Revisa la referencia de jackson-annotations para la lista completa.
¿Cómo gestiona BigDecimal, LocalDateTime y UUID?
BigDecimal pasa a número JSON. LocalDateTime, OffsetDateTime e Instant salen como cadenas ISO-8601. UUID es un hex estándar 8-4-4-4-12. LocalDate es YYYY-MM-DD. Coincide con los defaults del JavaTimeModule de Jackson.
¿Funciona con records y tipos sealed?
Sí. Los record de Java 14+ se serializan usando sus componentes canónicos. Los tipos sealed y sus subtipos permitidos se aplanan a la forma de datos subyacente. Mira la JEP de records de OpenJDK para contexto.
¿Qué pasa con las clases Lombok @Data / @Builder?
Las anotaciones de Lombok se reconocen — los getters, setters y builders generados se tratan como accesores normales. La herramienta mira los campos declarados más la llamada al constructor que pegues para construir el JSON.
¿Puedo pegar un archivo entero con varias clases?
Sí. Cada clase de nivel raíz que tenga una instancia en lo que pegas termina como su propia entrada en el JSON. Las clases internas/estáticas anidadas se expanden inline donde se usan.
¿Se guarda mi código?
El código se envía al backend solo para convertirlo y no se persiste ni se loguea. Como con cualquier herramienta online, repasa antes de pegar algo realmente sensible.
Otras herramientas que podrías necesitar
Java a JSON es una pieza del puzzle. Estas son las herramientas que casan bien con ella: