Neste artigo
Por que gerar classes C# a partir de JSON?
Ao trabalhar com APIs REST em .NET ou Unity, você precisa de classes C# fortemente tipadas para desserializar respostas JSON. Escrever essas classes manualmente é tedioso e propenso a erros, especialmente para payloads de API profundamente aninhados. Um gerador JSON para C# analisa a estrutura JSON e produz automaticamente definições de classes prontas para uso.
Isso é particularmente valioso durante a prototipagem rápida. Você cola uma resposta de API de exemplo, obtém classes C# perfeitamente estruturadas e começa imediatamente a trabalhar com dados tipados em vez de objetos dinâmicos.
Modos de saída e opções de serialização
O gerador suporta múltiplos formatos de saída para combinar com o estilo de codificação e a versão .NET do seu projeto. Cada modo produz C# idiomático que compila sem modificação.
- Class vs Record — classes mutáveis tradicionais para projetos .NET mais antigos, ou records C# 9+ para objetos de transferência de dados imutáveis com igualdade de valor incorporada
- System.Text.Json — o serializador moderno de alto desempenho embutido no .NET Core 3.1+ que usa atributos [JsonPropertyName]
- Newtonsoft.Json — a amplamente utilizada biblioteca Json.NET que usa atributos [JsonProperty], ainda dominante no .NET Framework legado e projetos Unity
Experimente gratuitamente — sem cadastro
Converter JSON para C# →Convenções de nomenclatura C# e anotações
C# segue convenções de nomenclatura rigorosas que diferem do típico camelCase ou snake_case do JSON. O gerador aplica automaticamente essas transformações enquanto preserva os nomes de propriedade JSON originais através de atributos de serialização.
- Propriedades PascalCase — todos os nomes de propriedade gerados são convertidos para PascalCase (ex., user_name torna-se UserName) seguindo as diretrizes de nomenclatura .NET da Microsoft
- Padrões de anotação — cada propriedade inclui o atributo de serialização apropriado ([JsonPropertyName] ou [JsonProperty]) que mapeia a propriedade PascalCase para o nome da chave JSON original
- Inferência de tipos — o gerador infere tipos C# a partir de valores JSON: strings tornam-se string, números tornam-se int ou double, booleanos tornam-se bool
Perguntas frequentes
Como o gerador lida com tipos de referência anuláveis?
Quando um valor JSON é null, o gerador produz um tipo de referência anulável (string? em vez de string). Isso segue as convenções de tipos de referência anuláveis do C# 8+ e ajuda a detectar potenciais exceções de referência nula em tempo de compilação.
Devo usar List<T> ou arrays para arrays JSON?
O gerador usa List<T> por padrão porque oferece funcionalidade mais rica (Add, Remove, Contains) e é o tipo de coleção mais comum em bases de código C#. Você pode alterar manualmente o tipo gerado se necessário.
Posso gerar records em vez de classes?
Sim. O modo record gera tipos record C# 9+ com propriedades init-only. Records são ideais para objetos de transferência de dados porque fornecem imutabilidade, igualdade baseada em valores e sintaxe concisa.