Convertidor de JSON a Java
Genera clases POJO de Java a partir de una muestra JSON directamente en tu navegador.
Esta herramienta se ejecuta completamente en tu navegador. Tus archivos nunca se suben a un servidor.
import java.util.List;
public class Root {
private String name;
private Integer age;
private Boolean active;
private List<String> tags;
private Address address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getActive() {
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
public List<String> getTags() {
return tags;
}
public void setTags(List<String> tags) {
this.tags = tags;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
public class Address {
private String street;
private String zip;
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getZip() {
return zip;
}
public void setZip(String zip) {
this.zip = zip;
}
}Qué hace este convertidor
Lee un valor JSON y genera clases Java equivalentes: una clase simple (POJO) por cada forma de objeto encontrada en la muestra, con campos privados y métodos getter/setter públicos.
Cómo usarlo
Pega un objeto, lista o valor primitivo JSON en el editor. Aparece de inmediato una clase `Root`, además de una clase adicional por cada forma de objeto anidada; una raíz que no es un objeto se envuelve en una clase `Root` con un único campo `value`.
Ejemplo
Un objeto con una cadena `name` y un objeto anidado `address` produce una clase `Root` con un campo privado `String name` y métodos `getName`/`setName`, junto con una clase `Address` separada para la forma anidada.
Correspondencia de tipos
Las cadenas se convierten en `String`, los enteros en `Integer`, los decimales en `Double`, los booleanos en `Boolean` y las listas en `List<ElementType>` (con la importación `java.util.List` añadida automáticamente cuando hace falta). Los valores de muestra `null` se tipan como `Object`.
Objetos anidados y listas
Cada objeto anidado obtiene su propia clase, generada a partir de su clave. El orden de las clases en la salida no importa en Java, ya que las clases del mismo archivo pueden referenciarse entre sí sin importar el orden de declaración.
Limitaciones
Las clases generadas describen solo la muestra JSON proporcionada, usan tipos envueltos (boxed) en todos los casos por simplicidad (sin campos primitivos int/double/boolean) y no incluyen constructor, equals/hashCode, toString ni anotaciones de (de)serialización JSON — añade una biblioteca como Jackson o Gson si la necesitas.
Privacidad
El análisis y la generación de código se ejecutan localmente en tu navegador. El JSON que pegas y el Java generado nunca se suben.
Preguntas Frecuentes
- ¿Las clases generadas incluyen anotaciones de alguna biblioteca JSON?
- No — son POJOs simples con campos privados y getters/setters; combínalas con una biblioteca como Jackson o Gson para la (de)serialización JSON real.
- ¿Por qué los campos son Integer/Double en lugar de int/double?
- Los tipos envueltos mantienen el código generado simple y consistente incluso para campos que podrían ser null, a costa de una pequeña sobrecarga de autoboxing.
- ¿Se envía mi JSON a un servidor?
- No — el análisis y la generación de Java se realizan completamente en tu navegador.
Herramientas Relacionadas
Convertidor de JSON a TypeScript
Genera interfaces de TypeScript a partir de una muestra JSON directamente en tu navegador.
Convertidor de JSON a Python
Genera dataclasses de Python a partir de una muestra JSON directamente en tu navegador.
Convertidor de JSON a C#
Genera clases C# a partir de una muestra JSON directamente en tu navegador.