AZ Tools

Conversor TOML ↔ JSON

Converter

TOML e JSON codificam os mesmos dados de configuração hierárquicos com sintaxe muito diferente. Este conversor caminha ambas direções: cole um `Cargo.toml` ou `pyproject.toml` pra obter a forma JSON que seu linter ou gerador espera, ou alimente um config JSON e obtenha a versão TOML que vem com o tooling Rust/Python. Lida com as partes do TOML que realmente aparecem na natureza — tabelas top-level `[a.b]`, array-of-tables `[[a.b]]`, tabelas inline `{ k = v }`, arrays inline, strings básicos, inteiros, floats com separadores underscore, booleans, datas ISO e datetimes.

Como usar

  1. Escolha uma direção. `TOML → JSON` analisa seu TOML num objeto JSON; `JSON → TOML` faz o inverso.
  2. Cole a fonte. Erros apontam pra linha / caractere que quebrou o parsing.
  3. Copie o resultado. A saída TOML agrupa escalares primeiro, depois seções `[table]`, depois blocos `[[array.of.tables]]` — a ordem que a maioria dos linters espera.

Perguntas frequentes

Cobre a especificação TOML completa?
Lida com tabelas, keys com pontos, tabelas inline, arrays inline, arrays multi-linha, strings básicos, strings básicos multi-linha, strings literais, inteiros com separadores `_`, floats, booleans, datetimes RFC 3339, e array-of-tables. Funcionalidades menos comuns (aritmética de datetime com offset, casos edge de sequências escape, valores mistos muito profundamente aninhados) fazem round-trip mas podem precisar de edição manual.
Por que JSON → TOML reordena minhas keys?
TOML requer que escalares venham antes de qualquer bloco `[table]` dentro de uma seção, porque uma vez que `[table]` abre, o próximo conjunto de keys pertence a ele. O serializador reorganiza escalares primeiro então a saída parseia de volta corretamente — o significado do seu campo top-level não muda.

Ferramentas relacionadas