1001Ferramentas
⚙️ Conversores

JSON para TOML

Converta JSON em TOML, formato de configuração legível usado por Cargo (Rust), pyproject.toml, hugo, etc. Suporta strings, números, booleans, arrays e tabelas aninhadas. Tudo no navegador.

Levando configuração de JSON para TOML

Você tem um bloco de configuração em JSON e o destino quer TOML: pyproject.toml, Cargo.toml, a config do Hugo, um netlify.toml. Reescrever à mão irrita porque o TOML inverte a lógica do aninhamento, transformando cada objeto interno em um cabeçalho de tabela entre colchetes. Cole o JSON no campo da esquerda e o TOML aparece à direita enquanto você digita.

A regra que o conversor aplica e que muita gente esquece na hora de escrever à mão: dentro de cada nível, os pares chave igual valor vêm primeiro e as tabelas depois. Isso é obrigatório, porque em TOML tudo que aparece depois de um cabeçalho pertence àquela tabela, e uma chave solta no fim do arquivo acabaria atribuída à tabela errada. Por isso a ordem das chaves pode sair diferente do seu JSON. Chave com ponto, espaço ou acento sai entre aspas.

Três limites valem conhecer antes de colar o resultado. A raiz precisa ser um objeto: array ou valor solto devolvem erro, porque TOML não tem esse conceito na raiz. null vira string vazia, já que TOML não tem nulo. E array de objetos sai como array de strings JSON, não como array de tabelas no formato de colchete duplo, então essa parte pede ajuste manual. Datas continuam string. A conversão inteira acontece no navegador.

Perguntas frequentes

Por que aparece erro dizendo que a raiz precisa ser objeto?
Porque o JSON colado começa com colchete ou é um valor solto. TOML só descreve pares chave-valor na raiz, então envolva o array em uma chave, como {"itens": [...]}
O que acontece com valores null?
Viram string vazia, ou seja, duas aspas. TOML não tem representação para nulo, então quem consumir o arquivo vai ver um texto vazio, não a ausência do campo.
Converte de TOML para JSON também?
Não, esta página só vai de JSON para TOML. Para o caminho inverso você precisa de outra ferramenta ou de um parser TOML na sua linguagem.

Ferramentas Relacionadas