Entrada JSON

Saída C#

O que é JSON para C#?

C# usa classes e propriedades para representar dados. Ao consumir JSON de uma API ou configuração, você precisa de tipos C# correspondentes para desserialização. Esta ferramenta gera classes C# (POCOs) a partir do seu JSON. Cole um exemplo de JSON e obtenha definições de classes com os tipos de propriedade apropriados. Use com System.Text.Json ou Newtonsoft.Json.

A conversão é executada no seu navegador. Use as opções de configuração para definir o nome da classe, escolher propriedades ou campos, e ativar tipos nullable. Nada é enviado a um servidor.

Como usar esta ferramenta

1

Colar o JSON

Cole seu JSON no editor esquerdo ou envie um arquivo. Use Amostra para dados de exemplo. Defina o nome da classe raiz e as opções (Propriedades, Nullable) no painel de configuração.

2

Verificar as classes

O painel direito exibe as classes C# geradas. Objetos aninhados tornam-se classes separadas. Arrays tornam-se List<T> ou T[]. Adicione atributos [JsonPropertyName] se necessário para nomes de chaves JSON diferentes.

3

Copiar ou baixar

Use <strong>Copiar</strong> ou <strong>Baixar</strong> para obter o código. Cole no seu projeto .NET. Para formatar o JSON primeiro, use o Formatador JSON. Para validação, use o Validador JSON.

Exemplos de JSON para C#

Aqui está um exemplo de geração de classes C# a partir de um objeto JSON.

Exemplo: Registro de assinante

Entrada JSON:

Entrada

Saída C# gerada:

Saída

Quando JSON para C# ajuda

Na integração de API REST em .NET, ASP.NET Core ou Blazor, você precisa de tipos C# para desserialização. Colar uma resposta de exemplo aqui fornece POCOs utilizáveis com JsonSerializer.Deserialize<T>() ou Newtonsoft.Json. Para testes de API, Postman e jq são úteis.

Perguntas frequentes

Propriedades ou campos?

Propriedades usam get; e set;. System.Text.Json e Newtonsoft.Json serializam propriedades por padrão. Campos funcionam mas são menos comuns para DTOs.

E os tipos de referência nullable?

Ative Nullable Types na configuração para obter string? etc. Útil para campos JSON opcionais. Requer contexto nullable no seu projeto.

Meus dados são enviados para algum lugar?

Não. A geração é executada no seu navegador.

Posso usar isso com System.Text.Json?

Sim. As classes geradas funcionam com JsonSerializer.Deserialize<T>(). Adicione using System.Text.Json.Serialization; se precisar de atributos personalizados.

E se minhas chaves JSON não corresponderem à nomenclatura C#?

Use [JsonPropertyName("json_key")] na propriedade, ou configure JsonSerializerOptions.PropertyNamingPolicy para camelCase.

Ferramentas relacionadas

System.Text.Json. Newtonsoft.Json. Especificação JSON. RFC 8259. MDN. .NET. Postman.