Cole o C# à esquerda e clique em "Converter" — transformamos em JSONCole código C#

O que esta ferramenta faz

Se você já teve que montar na mão um payload JSON espelhando uma classe C# — para um teste, uma chamada de API ou alguma documentação — sabe o quanto é chato. Cole o C# aqui e você recebe um JSON válido sem reescrever nada manualmente. A ferramenta lida com um único object initializer, com um arquivo de model inteiro cheio de classes ou com algo profundamente aninhado — o resultado é o mesmo: um documento JSON completo com todos os campos preservados.

Não é só troca de string. O conversor sabe como o C# realmente serializa em tempo de execução: sufixos de decimal como 49.99m perdem o m e viram números JSON, DateTime e DateTimeOffset saem como strings ISO-8601 conforme a RFC 8259, Guid vira uma string hex padrão, nullables com valor null viram null, e coleções seguem o que o System.Text.Json e o Newtonsoft.Json produziriam — List<T> e arrays como arrays JSON, Dictionary<K,V> como objeto JSON.

Atributos de serialização também são respeitados. [JsonPropertyName("x")] renomeia a chave, [JsonIgnore] descarta a propriedade. Se você colar várias classes de uma vez, cada uma aparece como uma entrada no nível raiz do JSON, com os tipos aninhados expandidos e as propriedades herdadas das classes base incluídas. Nada some silenciosamente.

Como usar

Três passos. Funciona igual, seja com cinco linhas ou um arquivo de model inteiro.

1

Cole seu C# (ou teste o exemplo)

Jogue o C# no editor da esquerda, do jeito que está. Um object initializer, uma definição de classe completa, várias classes ou estruturas aninhadas — tudo funciona. Clique em Load Sample se quiser ver um exemplo realista primeiro.

Você não precisa "limpar" o código — deixe a sintaxe C#, modificadores de acesso e atributos como estão. Só cole.

2

Clique em Converter

Clique no botão verde Convert. A ferramenta lê o C#, preserva cada classe e propriedade e monta o JSON numa passada só. Aparece um indicador de carregamento rápido enquanto roda.

3

Copie o JSON

O painel da direita é preenchido com um JSON indentado e compatível com MDN. Copie direto para sua requisição de API, fixture de teste, arquivo de configuração ou documentação.

Quando isso realmente ajuda

Montar fixtures de API

Você tem um request model em C# e precisa de um payload JSON para jogar no Postman ou no curl. Cole a classe, pega o JSON e segue a vida.

Começar arquivos de configuração

Uma classe Settings com 40 propriedades vira um template JSON pronto para editar, para o appsettings.json ou qualquer store de config — sem boilerplate feito à mão.

Manter a documentação em dia

Gere exemplos de JSON para um README, referência de API ou spec OpenAPI direto dos seus models reais, para que a documentação bata com o código.

Popular dados de teste

Transforme object initializers dos seus testes unitários em arquivos JSON de seed para testes de integração, mock servers ou fixtures de banco.

Perguntas frequentes

Posso colar várias classes de uma vez?

Sim — cole um arquivo inteiro. Cada classe de nível raiz vira sua própria chave no JSON, com tipos aninhados expandidos e propriedades herdadas das classes base incluídas. Nada é descartado.

Respeita atributos como [JsonPropertyName] ou [JsonIgnore]?

Sim. [JsonPropertyName("x")] e [JsonProperty("x")] renomeiam a chave do JSON, e [JsonIgnore] remove a propriedade da saída — o mesmo comportamento que você teria do System.Text.Json.

Como ele trata decimal, DateTime, Guid e os tipos C# de sempre?

Decimais (49.99m) perdem o sufixo e viram números JSON. DateTime e DateTimeOffset saem como strings ISO-8601. Guid é uma string hex padrão 8-4-4-4-12. TimeSpan vira uma string de duração. Nullables com valor null viram null no JSON; caso contrário, o tipo subjacente é serializado.

E classes aninhadas, listas e dicionários?

List<T>, arrays, HashSet<T> e IEnumerable<T> viram arrays JSON. Dictionary<K,V> vira objeto JSON. Object initializers aninhados — um Address dentro de um Order, por exemplo — são expandidos como objetos JSON aninhados com todos os campos intactos.

Meu código fica armazenado?

Seu código é enviado para o backend para a conversão e não fica persistido — não logamos o payload. Como sempre vale para ferramentas online, se o código for realmente sensível, dê uma olhada antes de colar.

E se o C# tiver alguma coisa esquisita — métodos, delegates, IntPtr?

Essas coisas saem como null em vez de quebrar a conversão inteira, então o resto do seu model continua passando. Se o código tiver erro de sintaxe, resolve os mais óbvios primeiro — o parser é tolerante, mas não faz milagre.

Outras ferramentas que podem ajudar

C# para JSON é só uma peça do quebra-cabeça. Essas aqui combinam bem: