JSON para C# Class Online
Gere classes C# a partir de JSON, no seu navegador.
Para que serve
JSON para classes C# prontas para .NET
Compatível com .NET moderno
As classes geradas funcionam com System.Text.Json (.NET 5+) e Newtonsoft.Json. Prontas para ASP.NET Core e .NET MAUI.
100% privado
Seu JSON é processado no navegador. Nunca enviado a servidores externos. Seguro para APIs confidenciais.
Código C# idiomático
Auto-properties, PascalCase, tipos nullable corretos. Código seguindo as convenções oficiais da Microsoft.
Instantâneo
Geração de classes em milissegundos. Sem instalações, sem cadastro, sem esperas.
Como funciona
Três passos, sem complicação
Cole seu JSON
Cole qualquer objeto JSON válido. O parser detecta tipos, campos opcionais e estruturas aninhadas.
Gere as classes C#
Classes C# são geradas com auto-properties, tipos nullable para campos opcionais e classes aninhadas.
Copie e use no seu projeto
Copie o código gerado para o Visual Studio ou VS Code. Compatível com System.Text.Json e Newtonsoft.Json sem modificações.
Perguntas frequentes
Ficou com dúvidas?
Auto-properties ({ get; set; }) são um recurso do C# que permite declarar propriedades sem escrever manualmente o campo de armazenamento. Em vez de declarar um campo privado e seus acessores explícitos, você simplesmente escreve public string Name { get; set; } e o compilador gera o campo de armazenamento automaticamente. Isso torna o código mais conciso e legível.
As convenções de nomenclatura do .NET (documentadas nas diretrizes da Microsoft) especificam que propriedades públicas devem usar PascalCase (NomeDaPropriedade), diferente do Java que usa camelCase. Porém, System.Text.Json e Newtonsoft.Json podem mapear automaticamente entre PascalCase em C# e camelCase em JSON usando JsonPropertyName ou configuração de serialização.
Quando um campo está presente em alguns objetos JSON mas não em outros, ele é inferido como opcional e gerado com um tipo nullable (string?, int?, bool?). Isso requer C# 8.0 ou superior com contexto nullable habilitado. Tipos nullable evitam NullReferenceException ao acessar campos que podem não estar presentes na resposta JSON.
Objetos JSON aninhados são convertidos para classes C# separadas no mesmo arquivo. Cada classe aninhada é gerada como uma classe pública regular (não como classe interna), seguindo a convenção C# de uma classe por responsabilidade. As referências entre classes são estabelecidas pelo tipo da propriedade.
System.Text.Json está incluído no .NET Core 3.0 e superiores e é a opção recomendada para novos projetos: é mais rápido e não requer dependências externas. Newtonsoft.Json (Json.NET) tem mais recursos e é mais flexível, sendo preferido quando você precisa de conversores personalizados complexos ou compatibilidade com projetos mais antigos. As classes geradas por esta ferramenta são compatíveis com ambos sem modificações.
Classes C#, record types, serialização JSON no .NET e desenvolvimento com ASP.NET Core
C# é a principal linguagem do ecossistema .NET da Microsoft, amplamente usada para APIs web com ASP.NET Core, aplicações desktop com WPF/WinForms e aplicações multiplataforma com .NET MAUI. No desenvolvimento de APIs REST com ASP.NET Core, os modelos de dados (também chamados de DTOs ou view models) são classes C# que representam o corpo de requisições e respostas JSON.
Com C# 9.0 e .NET 5+, a Microsoft introduziu os record types: classes imutáveis com igualdade baseada em valor, ideais para DTOs. Diferente das classes comuns, os records são imutáveis por padrão e requerem menos código boilerplate. Porém, para cenários onde os objetos precisam ser mutáveis (por exemplo, ao desserializar de JSON), classes com auto-properties continuam sendo a opção padrão.
System.Text.Json, introduzido no .NET Core 3.0, substitui o Newtonsoft.Json como a biblioteca de serialização JSON recomendada. É significativamente mais rápido e tem uma pegada de memória menor, o que é importante para APIs de alto desempenho. Em benchmarks, o System.Text.Json supera o Newtonsoft em velocidade de serialização e desserialização. A ferramenta da convertir.ai gera classes compatíveis com ambas as bibliotecas, processando tudo no seu navegador sem enviar dados a servidores.