JSON1

JSON → Classes Java

Converta JSON em POJOs Java, incluindo classes aninhadas e List<T>. Perfeito para criar modelos rapidamente.

Visão Geral

O que faz

  • • Gera classes Java com base nos campos
  • • Cria getters/setters para cada campo
  • • Cria classes filhas para objetos aninhados

Requisitos de entrada

  • • JSON válido e parseável
  • • Arrays inferidos pelo tipo do primeiro elemento
  • • Ajuste nomes gerados para seu padrão de projeto

Como começar

  1. Abra /json-to-java
  2. Cole o JSON no editor da esquerda
  3. Revise as classes geradas no painel direito
  4. Copie ou baixe o arquivo .java

Mapeamento de tipos

Primitivos

  • • string → String
  • • inteiro → int; ponto flutuante → double
  • • boolean → boolean
  • • null → Object

Complexos

  • • array → List<T> (baseado no primeiro elemento)
  • • object → classe filha (capitalizada)
  • • objeto aninhado → classe separada + referência

Coleções e Classes Aninhadas

Bom Exemplo

{
  "items": [{ "id": 1, "name": "Book" }]
}

Requer Atenção

{
  "values": [1, "two", true]
}

Tipos mistos; use Object ou normalize para tipos consistentes.

Exemplo

JSON de entrada
{
  "id": 1,
  "name": "Book",
  "tags": ["tech"],
  "author": { "name": "Tom" }
}

Gerado em Java
public class RootObject {
    private int id;
    private String name;
    private List<String> tags;
    private Author author;

    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public List<String> getTags() { return tags; }
    public void setTags(List<String> tags) { this.tags = tags; }
    public Author getAuthor() { return author; }
    public void setAuthor(Author author) { this.author = author; }
}

public class Author {
    private String name;
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

Dicas e limitações

Recomendado

  • • Valide JSON e nomes de campos
  • • Adicione pacotes/anotações quando necessário (ex.: Lombok)
  • • Renomeie classes para nomes de domínio significativos

Limitações

  • • Arrays mistos inferidos pelo primeiro elemento
  • • Sem gestão de pacotes/imports além de List
  • • Anotações de serialização não são geradas

Ler em outro idioma