Omnikit
DesenvolvimentoArquivosFinançasTodas as ferramentas
Ctrl K
Ferramentas para desenvolvedoresFerramentas de arquivosCalculadoras financeirasTodas as ferramentas
InícioFerramentas para desenvolvedoresConversor de JSON para classes C#
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Conversor de JSON para classes C#

desenvolvimento

Transforme uma amostra de JSON em classes ou records C# para System.Text.Json ou Newtonsoft.Json

Funciona no seu navegador. Nada do que você digita é enviado a lugar nenhum. Verificado em 16 de outubro de 2026.

Cole uma amostra de JSON e receba classes ou records C# com propriedades em PascalCase e a chave JSON em um atributo JsonPropertyName ou JsonProperty. Números inteiros viram int, long acima de 2.147.483.647, qualquer decimal deixa o campo como double, e um valor null ou ausente vira anulável, como int?.

Esta página foi traduzida automaticamente do original em inglês. Nenhuma pessoa revisou ainda a tradução; a versão em inglês é a que deve ser considerada. Ler o original em inglês

Em seguida:
  • JSON para TypeScript Gere interfaces ou tipos TypeScript a partir de uma amostra JSON
  • Formatador e validador de JSON Formate, valide, minifique e ordene JSON com a posição exata de cada erro

Como converter JSON em uma classe C#

1

Cole uma amostra de JSON, como a resposta de uma API, na caixa da esquerda.

2

As classes C# aparecem enquanto você digita, uma por objeto, com propriedades em PascalCase e a chave JSON em um atributo em cada uma.

3

Escolha System.Text.Json ou Newtonsoft.Json, e records com init se preferir modelos imutáveis.

4

Clique em Copiar, ou em Baixar para salvar Models.cs, e desserialize na classe raiz.

Sobre o Conversor de JSON para classes C#

O C# lê JSON em classes tipadas, e cada propriedade precisa do tipo certo e de um jeito de achar sua chave. Este conversor escreve essas classes a partir de uma amostra, então uma resposta longa de API vira um modelo que compila com uma só colagem.

Como os tipos são escolhidos.

Valor JSON Tipo C#
"text" string
true / false bool
42 (só números inteiros) int, ou long além de 32 bits
4.5 (algum decimal visto) double
null, e também um tipo int?, string?
só null, ou tipos misturados object?
[ ... ] List<...>
{ } vazio Dictionary<string, object>
{ ... } uma classe própria

Chaves e nomes. As propriedades ficam em PascalCase, então user_name vira UserName e avatar_url vira AvatarUrl. Cada propriedade leva a chave original em um atributo, porque o System.Text.Json compara nomes diferenciando maiúsculas, a menos que seja configurado de outro jeito; o Newtonsoft recebe [JsonProperty] no lugar. Uma propriedade que teria o mesmo nome da classe, o que o compilador recusa como CS0542, ganha Value no final.

Arrays de objetos. Todos os objetos de um array são unidos em uma classe, então uma chave que aparece só em alguns continua lá, como anulável, para que a ausência seja lida como null e não como 0 ou false. Dois objetos com exatamente as mesmas chaves e tipos compartilham uma classe.

Opções. Records com init geram modelos imutáveis comparados por valor. A classe raiz se chama Root, a menos que você dê outro nome. Quando o próprio JSON é um array ou um valor solto, um comentário diz em qual tipo desserializar, como List.

Cada resultado foi verificado lendo o C# de volta e conferindo 9 amostras com ele pelas regras dos serializadores. Nada do que você cola sai do navegador.

Perguntas frequentes

Como converto JSON em uma classe C#?

Cole uma amostra de JSON no conversor e as classes C# aparecem ao lado, uma por objeto, com um atributo JsonPropertyName em cada propriedade. Copie-as para o seu projeto e leia o JSON com JsonSerializer.Deserialize<Root>(json), ou JsonConvert.DeserializeObject<Root>(json) quando o Newtonsoft estiver escolhido.

Por que toda propriedade tem um atributo JsonPropertyName?

Por padrão, o System.Text.Json compara nomes de propriedades diferenciando maiúsculas, então uma propriedade chamada UserName nunca receberia a chave user_name. O atributo indica a chave exata, o que mantém os nomes do C# em PascalCase e ainda lê o JSON sem opções de serializador nem política de nomes.

Quando uma propriedade é anulável, como int? ou string?

Uma propriedade é anulável quando a amostra mostra null nela, ou quando alguns objetos de um array deixam a chave de fora. Sem o ponto de interrogação, um número ausente seria lido sem aviso como 0 e uma flag ausente como false, então o tipo anulável separa ausente de zero.

Devo usar classes ou records?

Records com acessores init servem para modelos que você só lê, porque as propriedades não mudam depois da desserialização e dois records com os mesmos valores são iguais. Classes com set servem para modelos que você preenche ou edita. Os dois funcionam com System.Text.Json a partir do .NET 5 e com Newtonsoft.Json.

Como os números são tipados em C#?

Números inteiros viram int, ou long quando um valor passa de 2.147.483.647, e um campo vira double assim que algum valor da amostra tem parte decimal. Valores de tipos diferentes, como um número em um item e texto em outro, viram object?, que guarda o valor JSON bruto.

Meu JSON é enviado?

Não. A conversão roda no seu navegador sem nenhuma requisição a um servidor, e o JSON não é guardado, então respostas de API com tokens ou dados pessoais ficam no seu dispositivo. Feche a aba e nada fica para trás.

Fontes

  • Microsoft Learn, System.Text.Json: customize property namesJsonPropertyName, and case-sensitive matching by default
  • Newtonsoft.Json documentation, JsonPropertyAttribute nameJsonProperty("key") on a property
  • Microsoft Learn, .NET naming guidelinesPascalCase types and properties
  • Microsoft Learn, compiler error CS0542A member cannot have the same name as its enclosing type

Última verificação: 16 de outubro de 2026.

Taxas e regras mudam; confira a fonte antes de confiar em um valor.

Ainda com dúvidas? Pergunte sobre Conversor de JSON para classes C# e qualquer pessoa que saiba pode responder. Não é preciso ter conta.

Ferramentas relacionadas

Todas as ferramentas para desenvolvedores
Codificar e decodificar Base64Texto e arquivos para Base64 e de volta, com modo seguro para URL e prévia de imagensConversor de timestamp UnixTimestamps Unix em datas e datas em timestamps, em qualquer fuso horárioJSON para TypeScriptGere interfaces ou tipos TypeScript a partir de uma amostra JSONConverter CSV para JSONConverta CSV para JSON e JSON para CSV, com prévia em tabelaConverter YAML para JSONConverta YAML para JSON e JSON para YAML, com as âncoras resolvidasCodificador e decodificador de URLCodifique ou decodifique texto e URLs com codificação percentual e veja cada parte de um linkConversor de bases numéricasBinário, octal, decimal, hexadecimal e qualquer base até 36, exato em qualquer tamanho, com complemento de doisColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Esta ferramenta foi útil?
Omnikit

Pequenas tarefas, feitas no seu navegador. Grátis, rápido e privado. Os arquivos nunca são enviados.

Arquivos

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Desenvolvimento

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanças

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuiasPerguntasSobreComo verificamosBiblioteca de leis (beta)PrivacidadeTermosDivulgaçãoContatoMore: Exam practice (UGC NET Paper 1)Funciona no seu navegador. Nada é enviado. © 2026 Omnikit (theomnikit.com)