Escolher idioma

Conversor de TOML para JSON

Converta arquivos TOML em JSON com suporte a tabelas, arrays de tabelas, tabelas inline, strings multilinha e valores de data e hora.

Mehmet Demiray Publicado Atualizado
Compartilhar
Espaçamento usado para formatar a saída JSON

O que é a conversão de TOML para JSON

O TOML nasceu para deixar arquivos de configuração legíveis por humanos, com sintaxe clara e tipagem explícita. Já o JSON é o formato universal de troca de dados entre sistemas, APIs e linguagens de programação. Converter de um para o outro é necessário quando você precisa processar dados de configuração de forma programática ou integrar uma ferramenta que só entende JSON.

As diferenças estruturais são importantes. O TOML usa tabelas declaradas com [secao], enquanto o JSON representa tudo com objetos aninhados entre chaves. O TOML também tem tipos nativos de data e hora, que no JSON viram strings, já que o formato não possui esse tipo. Comentários iniciados por # existem no TOML, mas o JSON não os suporta.

A conversão resolve essa ponte. Você cola o conteúdo TOML e recebe a árvore JSON equivalente, pronta para alimentar scripts, pipelines ou validadores. Se o caminho inverso for necessário, o conversor de JSON para TOML fecha o ciclo entre os dois formatos.

Como o conversor funciona

O processo acontece em três etapas dentro do navegador. Primeiro, o conteúdo TOML é lido e analisado por um parser que reconhece todos os recursos da especificação: tabelas, arrays de tabelas declarados com [[itens]], tabelas inline entre chaves, strings multilinha e valores de data e hora.

Na segunda etapa, cada construção do TOML é mapeada para a estrutura JSON correspondente. Uma tabela vira um objeto, um array de tabelas vira um array de objetos e os valores escalares mantêm seu tipo. Veja o mapeamento básico:

TOML JSON
chave = "valor" "chave": "valor"
numero = 42 "numero": 42
[tabela] "tabela": { }
[[lista]] "lista": [ ]

A terceira etapa cuida dos casos de borda. Datas viram strings ISO, valores numéricos preservam inteiros e flutuantes, e caracteres especiais são escapados corretamente no JSON. Tudo roda localmente, então nenhum dado de configuração sai do seu dispositivo durante a conversão.

Casos de uso no dia a dia

Converter TOML em JSON aparece em muitos fluxos de trabalho de desenvolvimento. Ferramentas de build em Rust leem o Cargo.toml, e às vezes você precisa inspecionar esses metadados como JSON para alimentar um script de automação. O mesmo vale para o pyproject.toml em pipelines de integração contínua, onde extrair dependências em formato JSON facilita a análise.

Outro cenário comum é a migração entre formatos de configuração. Times que adotam uma nova ferramenta muitas vezes precisam transformar configurações existentes em TOML para o JSON esperado pelo novo sistema. Configurações de sites estáticos como o Hugo também caem nessa categoria.

A conversão ainda ajuda na depuração. Visualizar um arquivo TOML como JSON revela rapidamente como tabelas aninhadas e arrays foram interpretados, o que evita erros silenciosos. Depois de gerar o JSON, vale passar pelo formatador de JSON para deixar a saída indentada e fácil de ler. Para fluxos com YAML, o conversor de YAML para JSON complementa esse conjunto.

Tabelas, arrays e estruturas aninhadas

A força do TOML está na forma como organiza dados aninhados, e o conversor preserva essa hierarquia ao gerar o JSON. Uma tabela simples como [servidor] com chaves abaixo dela vira um objeto JSON com essas mesmas chaves. Quando você usa pontos no nome, como [banco.conexao], o resultado é um objeto aninhado dentro de outro.

Os arrays de tabelas merecem atenção especial. A sintaxe [[produtos]] repetida várias vezes produz um array JSON onde cada bloco se torna um objeto independente. Isso é comum em listas de servidores, plugins ou dependências.

As tabelas inline, escritas em uma única linha como ponto = { x = 1, y = 2 }, também são suportadas e viram objetos compactos no JSON. Esse mapeamento direto significa que mesmo configurações com vários níveis de profundidade mantêm a estrutura intacta. Se uma configuração tem dezenas ou centenas de chaves, o conversor processa todas sem alterar a ordem lógica das seções.

A conversão preserva tudo?

Na maior parte dos casos, a conversão de TOML para JSON preserva todos os dados, mas existem diferenças que vale conhecer. Os valores, chaves e a estrutura hierárquica passam intactos. Tipos numéricos, booleanos e strings mantêm seu significado original no JSON.

A principal limitação está nos recursos que o JSON simplesmente não tem. Comentários iniciados por # no TOML são descartados, já que o JSON não suporta comentários. Os valores nativos de data e hora do TOML, que carregam tipagem própria, são representados como strings no formato ISO, pois o JSON não possui um tipo de data.

Por isso, a conversão é considerada quase sem perdas para os dados em si, mas não para metadados como comentários e tipos especiais. Se você precisar do caminho de volta, lembre que reconstruir o TOML a partir do JSON também não recupera comentários removidos. Para validar a estrutura gerada antes de usar em produção, é uma boa prática revisar o JSON com cuidado.

As que mais respondemos.

Como faço para converter TOML em JSON?

Cole o conteúdo do seu arquivo TOML na área de entrada e o conversor gera o JSON equivalente na hora. Não é preciso instalar nada nem enviar arquivos para um servidor, já que o processamento acontece direto no navegador. Depois é só copiar o resultado.

Quais são as principais diferenças entre TOML e JSON?

O TOML foi pensado para configurações legíveis por humanos, com seções declaradas em [tabelas], comentários e tipos nativos de data e hora. O JSON é mais enxuto e voltado para troca de dados entre sistemas, usando apenas objetos, arrays, números, strings, booleanos e nulos. O JSON não suporta comentários nem um tipo de data dedicado.

O que acontece com estruturas aninhadas e caracteres especiais?

Estruturas aninhadas são preservadas integralmente. Tabelas viram objetos, arrays de tabelas viram arrays de objetos e tabelas inline viram objetos compactos. Caracteres especiais dentro de strings, como aspas e quebras de linha, são escapados corretamente para produzir um JSON válido.

A conversão é sem perdas?

Para os dados em si, sim. Chaves, valores e a hierarquia completa são mantidos. A perda ocorre apenas em recursos que o JSON não suporta, como comentários iniciados por #, que são descartados, e valores de data e hora, que viram strings ISO em vez de manter seu tipo original.

O conversor suporta arrays de tabelas e tabelas inline?

Sim. A sintaxe [[itens]] repetida vira um array JSON com um objeto por bloco, e tabelas inline escritas como { x = 1, y = 2 } viram objetos compactos. Todos os recursos da especificação TOML, incluindo strings multilinha, são reconhecidos durante a análise.

Meus dados de configuração ficam seguros?

Sim. Toda a conversão acontece localmente, no seu próprio navegador. Nenhum conteúdo do arquivo TOML é enviado para servidores externos, o que torna o conversor adequado até para configurações com informações sensíveis, como chaves e credenciais de projeto.