Reúna variações relevantes
Use um objeto ou um array não vazio contendo apenas objetos. O resultado descreve o elemento da lista e não inventa uma propriedade de envelope. Arrays internos são analisados recursivamente.
Geração de tipos
Uma lista na entrada gera o modelo dos elementos. Leia a resposta inteira como List<Root>.
Análise e geração no navegador. A entrada não é enviada nem armazenada.
Entrada em array: o arquivo define o elemento. Leia List<Root>.
2 classes · 2 campos nullable
JSON para Java ajuda quando você tem a resposta de uma API, mas ainda não tem as classes. Coloque amostras diferentes em um array para revelar campos ausentes no primeiro registro e valores null.
Este gerador de POJO entrega um rascunho. Os exemplos não comprovam quais campos são obrigatórios nem todos os valores que a API poderá retornar.
JSON para Java combina os campos dos objetos na mesma posição de cada array. Um campo presente apenas no segundo registro continua no modelo; ausência e null influenciam o tipo gerado.
Símbolos e palavras reservadas precisam de identificadores válidos nas classes Java. As anotações Jackson mantêm a ligação com a chave original. Colisões recebem sufixos numéricos estáveis.
Use um objeto ou um array não vazio contendo apenas objetos. O resultado descreve o elemento da lista e não inventa uma propriedade de envelope. Arrays internos são analisados recursivamente.
O modo observado amplia campos ausentes ou null. O modo global usa wrappers Java e propriedades Kotlin com ? e padrão null. Ao desativar o aninhamento, as classes auxiliares ficam no nível superior do mesmo arquivo.
A geração automática aguarda 350 ms. Desative-a para usar Gerar ou Ctrl/Cmd+Enter. Alterações bloqueiam a exportação imediatamente. Limpar e carregar o exemplo guardam uma restauração de entrada, opções e resultado.
Inteiros comuns na faixa de 64 bits com sinal usam long/Long; os maiores usam BigInteger. Decimais e notação exponencial, como 1.0 e 1e3, usam BigDecimal. A inferência não passa pelo ponto flutuante do JavaScript.
A mesma página alterna para data classes Kotlin. Propriedades ausentes ou null recebem T? = null; as demais não recebem valor padrão. Um objeto raiz vazio gera uma class comum, sem parâmetros.
Os nomes usam camelCase ASCII e sufixos para conflitos. JsonProperty aparece nos campos Java e nos parâmetros e getters Kotlin. Tipos totalmente qualificados evitam conflitos com nomes raiz como String ou List.
Java usa campos públicos e classes static aninhadas por padrão; Kotlin usa classes de dados aninhadas. Sem aninhamento, as auxiliares Java não são public. Todos os modelos continuam no mesmo arquivo para download.
JSON para Java produz modelos para Jackson 2.x. Acrescente pacote e dependências no projeto. Em Kotlin, confira o módulo e as opções de null. Não geramos configuração para todas as versões do Spring Boot.
Sim, desde que não estejam vazios e contenham somente objetos. Todas as amostras contribuem para o modelo. Leia a resposta completa como List<Root>, pois a classe gerada representa um elemento.
Esta página gera anotações Jackson. O modelo Kotlin foi pensado para jackson-module-kotlin; Gson não aplica os mesmos contratos de null e parâmetros padrão. Uma troca de biblioteca exige adaptar e testar o código.
Não há opção Lombok neste gerador. O Java usa campos públicos, e o Kotlin usa propriedades de construtor. Se seu projeto exige getters, setters ou builders, adapte o arquivo após revisar os tipos.
Inteiros comuns usam long/Long ou BigInteger conforme a faixa. Decimais e expoentes usam BigDecimal. Em Object/Any, ative também as opções de precisão do Jackson descritas acima.
Encontrou um caso de inferência a melhorar?
Use JSON para Java com respostas representativas, revise os campos nullable e as anotações e compile o arquivo exportado com as configurações Jackson do seu projeto.