DocumentosImagensMídiaFerramentas PDF

JSON para C# Class Online

Gere classes C# a partir de JSON, no seu navegador.

Processed in your browser

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.

Três passos, sem complicação

1

Cole seu JSON

Cole qualquer objeto JSON válido. O parser detecta tipos, campos opcionais e estruturas aninhadas.

2

Gere as classes C#

Classes C# são geradas com auto-properties, tipos nullable para campos opcionais e classes aninhadas.

3

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.

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.