Convierta una muestra JSON en POJO, records o clases Lombok de Java anotados para Jackson
Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio. Comprobado el 16 de octubre de 2026.Pegue una muestra JSON y obtenga clases Java anotadas para Jackson, como POJO con getters y setters, records o Lombok @Data. Los números enteros pasan a int, a long por encima de 2,147,483,647, cualquier decimal convierte el campo en double, y un valor null o ausente usa el tipo envoltorio, como Integer.
Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés
Pegue una muestra JSON, por ejemplo la respuesta de una API, en el cuadro de la izquierda.
El Java aparece mientras escribe: un único Root.java con una clase estática anidada por objeto, campos en camelCase y @JsonProperty donde la clave es distinta.
Elija POJO con getters y setters, un record (Java 16+) o Lombok @Data, y ponga el nombre de la clase raíz.
Pulse Copiar, o Descargar para guardar Root.java, y lea el JSON con el ObjectMapper de Jackson.
Java lee JSON en clases, normalmente con Jackson, y cada objeto del JSON necesita una clase cuyos campos tengan los tipos y nombres correctos. Este convertidor escribe esas clases a partir de una muestra, así que una respuesta de API larga se convierte en Java que compila con un solo pegado.
Cómo se eligen los tipos.
| Valor JSON | Tipo Java |
|---|---|
| "text" | String |
| true / false | boolean |
| 42 (solo números enteros) | int, o long más allá de 32 bits |
| 4.5 (si aparece algún decimal) | double |
| null, o ausente en algunos elementos | Integer, Boolean, Double |
| solo null, o tipos mezclados | Object |
| [ ... ] | List<...> |
| { } vacío | Map<String, Object> |
| { ... } | una clase estática anidada |
Un solo archivo. El resultado es un único Root.java: la clase raíz contiene todas las demás como clases public static anidadas, que Jackson puede crear y que no necesitan archivos adicionales. Cuando el JSON es un array o un valor suelto, un comentario indica el tipo con el que leerlo, como List<Root.RootItem>.
Nombres y claves. Los campos van en camelCase, así que user_name pasa a userName, con @JsonProperty("user_name") conservando la clave. Las palabras clave de Java reciben un guion bajo, como class_. Un campo como xCoord se escribe xcoord, porque de lo contrario Jackson lo emparejaría con el getter getXCoord bajo otro nombre. Una clave vacía se ignora con @JsonIgnoreProperties, ya que Jackson no puede darle nombre.
Tres estilos. Un POJO tiene campos privados, getters y setters y funciona en todas partes. Un record (Java 16+) es breve e inmutable. Lombok @Data conserva los campos y deja que Lombok escriba el resto.
El resultado POJO de 9 muestras se compiló con javac y lo leyó Jackson 2.17 tratando como errores las claves desconocidas y los null en primitivos. Nada de lo que pegue sale del navegador.
Pegue una muestra JSON en el convertidor y el Java aparece al lado: un único Root.java con una clase estática anidada por cada objeto. Añada Jackson al proyecto y lea el JSON con new ObjectMapper().readValue(json, Root.class), que rellena cada campo a partir de su clave.
Colocar todas las clases dentro de Root mantiene el modelo entero en un archivo que compila tal cual. Jackson solo puede crear una clase anidada cuando es estática, porque una clase interna necesita antes una instancia de su clase externa, así que cada clase anidada se declara public static.
Un campo usa el tipo envoltorio, como Integer, Long, Double o Boolean, cuando la muestra lo tiene en null o algunos objetos omiten la clave. Un int primitivo no puede contener null, y una clave ausente pasaría en silencio a 0, así que el tipo envoltorio distingue un valor ausente de cero.
Los records, desde Java 16, son los más breves e inmutables, y Jackson 2.12 o posterior los lee directamente. Un POJO con getters y setters funciona en cualquier versión de Java y con cualquier biblioteca. El @Data de Lombok escribe los getters y setters por usted al compilar, y el código fuente queda corto.
Jackson encuentra las propiedades a través de los getters, y nombra getXCoord como xcoord bajando las mayúsculas iniciales. Un campo llamado xCoord no coincidiría entonces con su propio getter, y la propiedad se partiría en dos. El campo se llama xcoord, con @JsonProperty("xCoord") conservando la clave original.
No. La conversión se hace en su navegador sin ninguna petición a un servidor, y el JSON no se guarda, así que las respuestas de API con tokens o datos personales se quedan en su dispositivo. Cierre la pestaña y no queda nada.
Los tipos y las normas cambian; consulte la fuente antes de fiarse de una cifra.
¿Sigue sin resolverlo? Pregunte sobre Convertidor de JSON a clases Java y cualquiera que lo sepa puede responder. No se necesita cuenta.