Entrada JSON

Saída C#

O que é JSON para C#?

Se você está integrando uma API de terceiros no seu app .NET, geralmente recebe documentos JSON mas precisa de classes C# tipadas para deserializar a resposta. Escrever essas classes manualmente é tedioso — especialmente com objetos profundamente aninhados. Esta ferramenta gera C# POCOs automaticamente a partir do seu JSON. Cole uma resposta de API de exemplo e obtenha definições de classes prontas para usar no seu projeto. Funcionam direto 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 Copiar ou Baixar 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.

Exemplos de JSON para C#

Exemplo: Objeto JSON para classe C#

Entrada JSON:

{"subscriberId":"SUB-001","planName":"Premium 4G","dataLimit":"50GB","voiceMinutes":500,"status":"ativo"}

Classe C# gerada:

public class RootObject
{
    public string SubscriberId { get; set; }
    public string PlanName { get; set; }
    public string DataLimit { get; set; }
    public int VoiceMinutes { get; set; }
    public string Status { get; set; }
}

Perguntas frequentes

Como deserializo JSON em C#?

Use JsonSerializer.Deserialize<SuaClasse>(jsonString) do System.Text.Json, ou JsonConvert.DeserializeObject<SuaClasse>(jsonString) do Newtonsoft.Json. Você precisa de uma classe C# correspondente — gere uma aqui colando seu JSON.

E se minhas chaves JSON não corresponderem às convenções de nomenclatura C#?

Use [JsonPropertyName("json_key")] na propriedade (System.Text.Json), ou [JsonProperty("json_key")] (Newtonsoft). Alternativamente, configure JsonSerializerOptions.PropertyNamingPolicy para JsonNamingPolicy.CamelCase para mapeamento automático.

E os tipos de referência nullable em C#?

Ative Nullable Types na configuração para gerar string?, int?, etc. Útil quando campos JSON podem ser null ou ausentes. Você precisará de #nullable enable ou uma configuração de projeto compatível com nullable.

Meu JSON é enviado para um servidor?

Não. A geração de classes é executada inteiramente no seu navegador. Seu JSON nunca sai da sua máquina, então é seguro usar com chaves de API de produção ou dados sensíveis.

Properties vs campos — qual devo usar?

Properties (get; set;) são o padrão para DTOs em C#. Tanto System.Text.Json quanto Newtonsoft.Json serializam properties públicas por padrão. Campos funcionam, mas são menos comuns para objetos de transferência de dados.

Ferramentas relacionadas

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