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.