Pular para o conteúdo

Converter TOML em JSON — Numio

Converta tabelas, arrays e datas de TOML em JSON no seu navegador. Confira a estrutura de um arquivo de configuração e receba um erro, em vez de valores alterados sem aviso, para números que o JSON não consegue representar.

Ver as tabelas e os arrays de tabelas de um arquivo de configuração como objetos e arrays JSON.

Converted in your browser. Comments are omitted. Non-finite numbers and unsafe integers are rejected instead of silently losing their values.

Load an example (replaces your input)

TOML

Quando usar

  • Ver as tabelas e os arrays de tabelas de um arquivo de configuração como objetos e arrays JSON.
  • Passar um arquivo TOML com comentários para uma ferramenta que só aceita JSON.

Como usar

  1. Cole TOML ou carregue um exemplo (configurações e tabelas, arrays de tabelas, datas e strings multilinha).
  2. Leia o JSON à direita: [server] vira um objeto e [[products]] vira um array de objetos.
  3. Se houver erro, procure chaves duplicadas e problemas de aspas. Confira strings, números e datas antes de copiar.

Entrada TOML

[[products]]
code = "001"
name = "Notebook"

[[products]]
code = "002"
name = "Pen"

Saída JSON

{
  "products": [
    { "code": "001", "name": "Notebook" },
    { "code": "002", "name": "Pen" }
  ]
}

Detalhes e limitações

A conversão roda no seu navegador. Comentários, espaçamento e estilos de aspas do TOML não são mantidos.

JSON não tem tipo data, então as datas viram strings; a notação de fuso horário pode ser normalizada. Coloque os valores entre aspas no TOML se precisar deles sem alteração.

inf e nan não existem em JSON, e inteiros só são exatos até ±9,007,199,254,740,991. Esses valores geram um erro em vez de null ou dígitos arredondados; escreva IDs grandes como strings.

Só a sintaxe TOML é verificada. Campos obrigatórios de Cargo.toml, pyproject.toml ou outros formatos não são validados.

FAQ

Posso converter wrangler.toml em JSON?

Sim, quanto à estrutura: tabelas viram objetos e [[arrays]] viram arrays de objetos com os mesmos nomes de chave. Os comentários são descartados, então compare o resultado com a documentação de configuração do Wrangler da Cloudflare antes de substituir seu arquivo.

Como converto TOML em JSON no Python?

O Python 3.11 e posteriores incluem tomllib: python -c "import json,sys,tomllib; print(json.dumps(tomllib.load(open(sys.argv[1],'rb')), indent=2, default=str))" config.toml. default=str transforma datas em strings, como esta página faz.

Posso manter zeros à esquerda?

Escreva o valor como string, por exemplo code = "001". Use aspas em identificadores que você não quer que sejam tratados como números.

Por que um número grande causa erro?

Números do JavaScript não conseguem representar exatamente todo inteiro grande, e JSON não tem inf nem nan. A conversão para em vez de alterar o valor; deixe como strings no TOML os IDs que precisam ser exatos.

Especificações e referências