# JSON para C# Class

Converte dados JSON em classes C# com propriedades PascalCase, atributos JsonPropertyName e inferência de tipos aninhados

> Página canônica: https://elysiatools.com/pt/tools/json-to-csharp

- **Categoria:** Development

- **Palavras-chave:** json, csharp, c#, dotnet, class, converter

## Visão geral

O conversor de JSON para C# Class permite transformar estruturas de dados JSON em classes C# fortemente tipadas de forma rápida e precisa. A ferramenta gera automaticamente propriedades em PascalCase, inclui atributos JsonPropertyName para garantir a serialização correta e infere tipos aninhados e coleções, além de suportar propriedades anuláveis.

## Entradas

- **Entrada JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nome do tipo raiz** (text): Root
- **Propriedades anuláveis** (checkbox)

## Quando usar

- Ao integrar APIs externas que retornam respostas JSON e precisar criar modelos de dados (DTOs) no .NET.
- Durante o desenvolvimento de microsserviços em C# que consomem ou produzem payloads JSON complexos.
- Quando for necessário mapear arquivos de configuração JSON para classes C# fortemente tipadas.

## Como funciona

- Insira ou cole o código JSON no campo de entrada de texto.
- Defina o nome da classe raiz e escolha se deseja gerar propriedades anuláveis.
- O conversor analisa a estrutura do JSON, infere os tipos de dados e gera o código das classes C# prontas para uso.

## Casos de uso

- Criação rápida de DTOs para consumo de APIs REST no .NET Core.
- Modelagem de classes de configuração a partir de arquivos appsettings.json.
- Geração de estruturas de dados para testes unitários que simulam payloads JSON.

## Perguntas frequentes

### Como a ferramenta lida com objetos aninhados no JSON?

Ela cria classes C# separadas para cada objeto aninhado e as referencia como propriedades na classe principal.

### O que faz a opção de propriedades anuláveis?

Ela adiciona o modificador '?' aos tipos das propriedades, permitindo valores nulos no C#.

### Por que a ferramenta adiciona o atributo JsonPropertyName?

Para mapear corretamente as propriedades em PascalCase do C# com as chaves originais do JSON durante a serialização.

### Como os arrays do JSON são convertidos?

Eles são convertidos em listas genéricas do C#, como List, baseando-se no tipo dos elementos do array.

### É necessário instalar alguma biblioteca para usar o código gerado?

Não, o código gerado utiliza atributos nativos do namespace System.Text.Json.Serialization do .NET.

## Ferramentas relacionadas

- [Gerador de Data URI](https://elysiatools.com/pt/tools/data-uri-generator): Converte arquivos em Data URIs (Base64 ou porcentagem-codificada) para incorporar imagens, fontes e recursos diretamente em HTML, CSS ou Markdown
- [Conversor de JSON Schema para Zod](https://elysiatools.com/pt/tools/json-schema-to-zod-schema-converter): Converte definicoes JSON/YAML de JSON Schema em codigo Zod pronto para uso em projetos TypeScript, com objetos aninhados, arrays, enums e regras comuns de validacao
- [JSON para Go Struct](https://elysiatools.com/pt/tools/json-to-go): Converte dados JSON em definições de struct Go com tags json, campos PascalCase exportados e inferência de tipos aninhados
- [JSON para Java Class](https://elysiatools.com/pt/tools/json-to-java): Converte dados JSON em classes Java com anotações @JsonProperty do Jackson, campos privados, getters e setters
- [JSON para Kotlin Data Class](https://elysiatools.com/pt/tools/json-to-kotlin): Converte dados JSON em data classes Kotlin com anotações @SerializedName, tratamento de nulos e inferência de tipos aninhados
- [JSON para Rust Struct](https://elysiatools.com/pt/tools/json-to-rust): Converte dados JSON em structs Rust com derives serde Serialize/Deserialize, campos snake_case e atributos serde rename
- [JSON para TypeScript](https://elysiatools.com/pt/tools/json-to-typescript): Converte dados JSON em interfaces TypeScript ou aliases de tipo, com tipos união, campos opcionais e inferência de objetos aninhados
- [Conversor de logs para diagramas de sequencia](https://elysiatools.com/pt/tools/log-sequence-diagram-converter): Converte logs estruturados de servicos em diagramas Mermaid ou PlantUML com anotacoes de latencia e erro

## Exemplos

- [Amostras JSON de Terraform Plan](https://elysiatools.com/pt/samples/terraform-plan-json-samples): Arquivos Terraform plan JSON para visualizacao de dependencias e revisao de mudancas, no estilo terraform show -json
- [Exemplos JSON de Chat](https://elysiatools.com/pt/samples/chat-transcript-json): Exemplos JSON para transcricoes de chat multirrole
- [Exemplos de JSON](https://elysiatools.com/pt/samples/json): Exemplos de formato JSON (JavaScript Object Notation) de estruturas simples a complexas
- [Exemplos JSON de Texto Rico](https://elysiatools.com/pt/samples/rich-media-json): Exemplos JSON para editores de texto rico (TipTap, Quill, Slate)

## Conteúdo relacionado

- [Geradores de JSON para codigo tipado](https://elysiatools.com/pt/hubs/json-to-typed-code-generators): Gere modelos tipados a partir de JSON ou schemas para TypeScript, Go, Rust, Kotlin, Java, C# e validacao Zod.
