Inclua registros diferentes
Coloque vários objetos da mesma resposta em uma lista principal. Chaves que aparecem em apenas alguns viram opcionais; listas aninhadas também consideram todos os elementos visíveis.
Geração de tipos
Veja os dois registros do exemplo e escolha a linguagem e o nome da classe raiz.
O JSON é analisado neste navegador; a amostra não é enviada nem armazenada.
2 declarações · 2 tipos opcionais
JSON para classe ajuda quando você tem uma resposta de API e precisa iniciar um modelo tipado. Uma lista de objetos parecidos mostra campos que só aparecem depois do primeiro registro.
A saída é um rascunho para revisão. A amostra não prova regras de negócio, campos futuros, precisão de valores monetários ou configurações de serialização do projeto.
JSON para classe percorre cada objeto da lista principal. Um campo presente só no segundo registro continua no modelo e vira opcional quando falta nos demais.
O mesmo JSON local rende structs Rust, classes C#, Dart e PHP ou case classes Scala. O arquivo baixado usa a extensão correspondente à escolha.
Coloque vários objetos da mesma resposta em uma lista principal. Chaves que aparecem em apenas alguns viram opcionais; listas aninhadas também consideram todos os elementos visíveis.
Rust usa Serde, C# usa atributos System.Text.Json e Dart inclui fromJson/toJson. PHP e Scala geram declarações que ainda precisam de hidratação ou codec no projeto.
A geração automática espera 350 ms após a edição. Desligue-a para mostrar o botão ou use Ctrl/Cmd+Enter. Mudanças bloqueiam cópia e download até a nova geração terminar.
O struct Rust usa serde rename, Option e Vec. C# usa JsonPropertyName para manter as chaves originais e propriedades anuláveis quando os exemplos mostram ausência.
O gerador de modelo Dart cria campos tipados e fromJson/toJson para objetos e listas aninhados. Teste a saída no seu ambiente Flutter ou Dart.
PHP 8 recebe propriedades tipadas e comentários para elementos de listas. Uma Scala case class usa Option e List; a leitura do JSON ainda exige um codec.
JSON para classe lê a forma original dos números antes de escolher tipos. Inteiros enormes e decimais usam tipos amplos em vez de aparentar uma precisão que não foi demonstrada.
Não. A ferramenta produz código-fonte, mas não compila. Valide o arquivo baixado com o compilador e as dependências da linguagem escolhida.
Todos os objetos da lista principal são examinados. Se um campo falta ou aparece como null, ele fica opcional; apenas null não revela um tipo concreto.
A chave vira um identificador seguro e seu nome JSON original é registrado na saída quando a linguagem oferece mapeamento. Revise o código gerado antes de usar.
Sim. O padrão é Root. Informe um nome ASCII iniciado por maiúscula para atualizar as declarações e o nome do arquivo.
Não. O JSON colado fica no navegador e não é enviado a um servidor. Também não há busca de URL nem salvamento persistente da amostra.
Faltou algum formato de dado?
Use JSON para classe com registros reais variados, confira os campos opcionais e os nomes e teste o arquivo da linguagem escolhida no seu projeto.