Gerador de Classes e Records C# a partir de JSON

Entrada JSON

Carregando editor…

C# Gerado

Configuration

Insira dados JSON para gerar classes e records C# fortemente tipados para seus projetos .NET

Classes, records, DTOs e propriedades com nullable reference types

Como converter JSON para C# – guia passo a passo

Use este gerador JSON para C# para criar classes ou registros C# a partir de amostras JSON para APIs ASP.NET Core e aplicativos .NET.

  1. Passo 1 – Cole uma amostra JSON

    • Cole um objeto ou matriz JSON representativo no editor esquerdo.
    • Inclua objetos aninhados, matrizes e campos anuláveis para que os tipos sejam inferidos corretamente.
    • Use Import para carregar JSON de um arquivo, URL ou dados de amostra.
  2. Passo 2 – Escolha as opções de classe C#

    • Defina Class Name e Namespace para corresponder à estrutura do seu projeto.
    • Escolha uma estrutura JSON (System.Text.Json ou Newtonsoft.Json) se desejar atributos.
    • Habilite tipos de referência anuláveis para que os campos opcionais sejam mapeados para string? e tipos semelhantes.
  3. Passo 3 – Revise o código gerado

    • Verifique nomes de campos, tipos e como matrizes/objetos são modelados.
    • Ajuste opções como Root Type Name, tratamento nulo e estruturas, se disponíveis.
    • Se um campo for inferido incorretamente, ajuste seu JSON de amostra e gere-o novamente.
  4. Passo 4 – Use os DTOs gerados em .NET

    • Cole a saída em seu projeto e adicione-a à pasta API/DTO.
    • Desserialize JSON no tipo raiz usando o serializador escolhido.
    • Mantenha os DTOs separados dos modelos de domínio quando precisar de controle de versão e compatibilidade com versões anteriores.
  5. Passo 5 – Copiar ou baixar

    • Copie a saída em seu projeto ou baixe-a como um arquivo.
    • Execute seu formatador/linter para corresponder ao seu estilo de código.
    • Adicione bibliotecas de análise/serialização JSON se sua linguagem exigir.

Dicas rápidas

  • Prefira registros para modelos imutáveis quando possível.
  • Use [JsonPropertyName]/[JsonProperty] quando as chaves JSON não corresponderem à nomenclatura C#.
  • Valide a entrada antecipadamente para evitar objetos parcialmente inicializados.
Saída de exemplo (simplificada)
// Entrada JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated C# DTOs (simplified)
public class Metadata
{
    public string Plan { get; set; } = string.Empty;
}

public class Root
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public string? Email { get; set; }
    public bool Active { get; set; }
    public List<string> Roles { get; set; } = new();
    public Metadata Metadata { get; set; } = new();
    public DateTime CreatedAt { get; set; }
    public double Score { get; set; }
    public object? Notes { get; set; }
}

Ferramentas JSON e C# relacionadas

Explore mais ferramentas JSON e de esquema que funcionam muito bem junto com este gerador JSON para C#.

Perguntas Frequentes

Quais recursos de C# são suportados neste gerador JSON para C#?

O gerador cria classes C# e records (C# 9+) com propriedades, suporta atributos do JSON.NET e System.Text.Json e segue convenções modernas do .NET com namespaces corretos.

Posso gerar records C# e modelos DTO, além de classes?

Sim! Selecione 'Record' como framework para gerar records modernos com propriedades imutáveis, ideais para DTOs, contratos de API e value types.

Como funciona a serialização JSON com os tipos C# gerados?

O gerador oferece suporte a atributos do Newtonsoft.Json e do System.Text.Json para serialização/deserialização correta, com nomes de propriedade personalizados, tratamento de null e configuração flexível.

E quanto a nullable reference types e campos JSON opcionais?

O gerador inclui anotações nullable (object?) para propriedades que podem ser null, seguindo convenções modernas de nullable reference types e facilitando mapear campos opcionais com segurança.

Posso usar as classes C# geradas em projetos ASP.NET Core ou Blazor?

Sim. O código JSON para C# funciona bem em controllers ASP.NET Core, minimal APIs, componentes Blazor e qualquer aplicação .NET que precise de modelos fortemente tipados para payloads JSON.

Este gerador JSON para C# é gratuito?

Sim, o gerador JSON Swiss de JSON para C# é gratuito no navegador. Você pode colar JSON, configurar opções e gerar código sem instalar ferramentas ou extensões.

Gerador de Classes e Records C# a partir de JSON | JSONSwiss