UTILS.
100% en el navegador

JSON a POJO de Java

Crea clases POJO de Java desde una muestra JSON, con anotaciones Jackson o Gson, getters y setters generados, y tipos envueltos para campos anulables.

salida

Acerca de esta herramienta

La herramienta JSON a POJO de Java convierte una muestra JSON pegada en clases de modelo de Java, como lo hace jsonschema2pojo pero al instante en tu navegador. Analiza el JSON, infiere tipos de Java de forma recursiva y emite una clase por objeto: las cadenas pasan a String, los enteros a int o long, otros números a double, los booleanos a boolean, los arrays a List<T>, y los objetos anidados a sus propias clases en PascalCase declaradas antes que los padres que las usan.

Todo el análisis y la generación se ejecutan localmente con JSON.parse y JavaScript plano, así que tus payloads nunca salen de la página. Los campos se pasan a camelCase; cuando la clave JSON no está ya en camelCase la herramienta añade @JsonProperty("originalKey") (Jackson) o @SerializedName("originalKey") (Gson), o nada en el modo de campos planos. Los campos que pueden ser null en alguna muestra usan los tipos envolventes (Integer, Long, Double, Boolean) para que null sea representable. Las clases Jackson llevan @JsonIgnoreProperties(ignoreUnknown = true) para compatibilidad hacia adelante.

El interruptor de estilo de anotación selecciona Jackson (por defecto), Gson, o sin anotaciones, y solo se incluyen las importaciones realmente usadas. El interruptor de accesores elige entre métodos getX()/setX() generados sobre campos privados (por defecto) o campos públicos planos. Copia el resultado o descárgalo como archivo .java para insertarlo directamente en tu proyecto.

Preguntas frecuentes

¿Qué tipos de Java se producen?
string a String, entero a int (long cuando un valor excede el rango de int), número no entero a double, booleano a boolean, array a List<T>, y objeto a una clase con nombre. Los campos que pueden ser null usan tipos envueltos: Integer, Long, Double, Boolean.
¿Anotaciones Jackson o Gson?
El interruptor de anotación elige Jackson (@JsonProperty, más @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName), o ninguna. Las anotaciones solo se añaden cuando el nombre del campo camelCase difiere de la clave JSON original.
¿Obtengo getters y setters?
Por defecto cada campo privado obtiene un getX() y setX() generados. Cambia el interruptor de accesores a campos públicos planos si prefieres campos escuetos al estilo records sin métodos accesores.
¿Se envía mi JSON a algún sitio?
No. El JSON se analiza y las clases se generan enteramente en tu navegador con JavaScript plano. Nada se sube, así que puedes pegar respuestas de API internas con seguridad.

Más herramientas