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
- Abra /json-to-java
- Cole o JSON no editor da esquerda
- Revise as classes geradas no painel direito
- 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