Skip to main content
CheckTown
Conversores

JSON para C#: gere classes .NET de respostas API

Publicado 5 min de leitura
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.

Ferramentas relacionadas