Guia de conversão entre TOML e JSON
Introdução ao TOML
TOML (Tom's Obvious Minimal Language) é um formato projetado especificamente para arquivos de configuração, criado pelo cofundador do GitHub, Tom Preston-Werner. Seus objetivos são:
- Legível por humanos com semântica clara
- Mapeável sem ambiguidade para uma tabela hash
- Mais simples que YAML, mais amigável que JSON
Sintaxe básica
title = "TOML Example"
[owner]
name = "Alice"
email = "alice@example.com"
[database]
host = "127.0.0.1"
port = 5432
enabled = true
Comparação TOML vs JSON vs YAML
| Recurso | TOML | JSON | YAML |
|---|---|---|---|
| Comentários | Suporta # |
Não | Suporta # |
| Tipo data | Nativo | Não | Não |
| Strings multilinha | Sim | Não | Sim |
| Complexidade | Baixa | Média | Alta |
| Ambiguidade de análise | Nenhuma | Nenhuma | Sim |
| Uso principal | Arquivos de configuração | Troca de dados | Arquivos de configuração |
Convertendo com a ferramenta TOML↔JSON
Passo 1: Escolher a direção de conversão
Abra a ferramenta TOML↔JSON e selecione "TOML → JSON" ou "JSON → TOML".
Passo 2: Inserir dados
Cole o conteúdo TOML ou JSON na área de entrada. Também é suportado o upload direto de arquivos.
Passo 3: Converter
Clique no botão de conversão. Os resultados aparecem instantaneamente na área de saída.
Passo 4: Copiar ou baixar
Copie o resultado da conversão com um clique ou baixe como arquivo no formato correspondente.
Regras de mapeamento de TOML para JSON
Tipos básicos
string = "hello"
integer = 42
float = 3.14
boolean = true
Convertido para JSON:
{
"string": "hello",
"integer": 42,
"float": 3.14,
"boolean": true
}
Tabela → Objeto
[server]
host = "localhost"
port = 8080
Convertido para JSON:
{
"server": {
"host": "localhost",
"port": 8080
}
}
Arrays
ports = [8000, 8001, 8002]
Data e hora
TOML suporta nativamente tipos de data. Quando convertido para JSON, tornam-se strings:
created = 2026-06-01T10:00:00Z
→ "created": "2026-06-01T10:00:00Z"
Considerações de JSON para TOML
- JSON
nullnão tem equivalente em TOML — requer tratamento especial durante a conversão - Arrays de tipos mistos em JSON são inválidos em TOML
- Objetos JSON aninhados tornam-se tabelas TOML
- Revise os comentários e formatação após a conversão para garantir que atendam às suas necessidades
Casos de uso comuns
Projetos Rust: Cargo.toml
[package]
name = "my-app"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = "1.0"
tokio = { version = "1", features = ["full"] }
Ao modificar versões de dependências, converta para JSON com a ferramenta TOML↔JSON para processamento programático e depois converta de volta.
Projetos Python: pyproject.toml
[project]
name = "my-package"
version = "1.0.0"
requires-python = ">=3.8"
[project.dependencies]
requests = "^2.28"
flask = "^2.3"
Configuração de sites estáticos
Geradores de sites estáticos como Hugo e Zola usam TOML como formato de configuração, frequentemente exigindo conversão de/para JSON.
Interoperabilidade com outros formatos
- TOML ↔ YAML: Primeiro converta para JSON com a ferramenta TOML↔JSON, depois para YAML com a ferramenta YAML↔JSON
- Valide os resultados intermediários com o Formatador JSON
- Preserve os comentários originais do TOML e adicione-os manualmente após a conversão
Erros comuns
| Erro | Causa | Solução |
|---|---|---|
| Falha na análise TOML | Erro de sintaxe | Verifique os cabeçalhos de tabela e o formato chave-valor |
| Problema de formato de data | Fuso horário ausente | Use o formato ISO 8601 completo |
| null não pode ser convertido | TOML não possui null | Use string vazia ou remova o campo |
| Erro de formato de tabela inline | Sintaxe não padrão | Use formato de tabela padrão em vez |
Resumo
TOML é uma excelente escolha para arquivos de configuração modernos, e a conversão de/para JSON é muito prática para o gerenciamento de configuração de projetos. A ferramenta TOML↔JSON permite conversão rápida de formatos, e combinada com a ferramenta YAML↔JSON, você pode alternar livremente entre os três formatos.