1001Ferramentas
🔄 Conversores

TOML para JSON

Converta TOML em JSON. Suporta strings, inteiros, floats, booleans, datas, arrays e tabelas aninhadas. Útil para inspecionar configs ou integrá-las a scripts. Tudo no navegador.

Subset suportado: chaves simples, strings, números, booleans, arrays e tabelas [a.b].

Ler um arquivo de configuração sem instalar parser

Você abre um Cargo.toml, um pyproject.toml ou o config de alguma ferramenta e precisa entender a estrutura, ou jogar aquilo dentro de um script que só fala JSON. Instalar uma biblioteca de TOML para dar uma olhada rápida é desproporcional. Cole o trecho de um lado e a árvore aparece do outro: chaves simples, strings, números, booleanos, arrays e tabelas com ponto já saem prontos.

Por dentro não há biblioteca nenhuma: é um parser de subset que lê linha a linha. Um cabeçalho como [servidor.tls] cria o objeto aninhado, e o que vem depois cai dentro dele até o próximo cabeçalho. O que fica de fora importa tanto quanto o que entra. Array de tabelas no formato de colchete duplo não é reconhecido, tabela inline entre chaves volta como texto puro, e chave com ponto do lado esquerdo do igual vira uma chave literal com ponto no nome.

Confira a saída antes de confiar nela, principalmente se o arquivo for grande. Comentário é cortado a partir do primeiro cerquilha precedido de espaço, então uma string que contenha esse caractere no meio sai truncada. Datas do TOML chegam ao JSON como texto, não como tipo próprio. Para um pyproject completo, com colchete duplo e strings multilinha, use um parser de verdade: tomllib no Python 3.11 ou a CLI toml. Tudo roda no seu navegador.

Perguntas frequentes

Ele suporta array de tabelas com colchete duplo?
Não. A linha do cabeçalho é ignorada em silêncio e as chaves logo abaixo acabam dentro da tabela anterior, o que muda o significado do arquivo. Para esses casos, use um parser completo.
As datas do TOML viram o que no JSON?
Viram string, no formato original do arquivo. TOML tem tipo de data nativo e JSON não tem, então a conversão seria para texto de qualquer jeito. Basta lembrar de tratar depois.
Posso colar um pyproject.toml inteiro?
Pode, mas leia o resultado com atenção. Tabelas inline, strings multilinha e blocos de colchete duplo ficam fora do subset suportado e não são convertidos corretamente.

Ferramentas Relacionadas