tigtools

Conversor de JSON para TOML

Cole um objeto JSON e obtenha TOML com tabelas e arrays de tabelas. Valores que o TOML não pode representar são sinalizados em vez de alterados silenciosamente.

Executado no seu navegador Sem cadastro

Converta TOML em JSON em vez disso

Como usar

  1. Cole um objeto JSON ou experimente o exemplo.
  2. Ative “Omitir valores null” se o seu JSON tiver valores null desnecessários.
  3. Copie o TOML ou baixe-o como um arquivo .toml.

Como funciona

O JSON é analisado estritamente e depois gravado como TOML 1.0 com a biblioteca de código aberto smol-toml. Objetos aninhados viram [tables], arrays de objetos viram [[arrays of tables]] e chaves que não são palavras simples são colocadas entre aspas.

O TOML não consegue expressar tudo o que o JSON pode. A raiz do documento precisa ser uma tabela, então um array JSON ou um valor único é rejeitado. Não existe null no TOML: por padrão, o primeiro null é relatado com o caminho; você pode optar por omitir membros de objeto com valor null. Um null dentro de um array é sempre um erro, porque removê-lo mudaria as posições dos outros elementos. Arrays que misturam tipos (por exemplo, números e strings) são válidos no TOML 1.0, mas não na versão 0.5 mais antiga, então são indicados em uma observação.

O JSON não distingue 1 de 1.0, então números inteiros são gravados como inteiros TOML. Strings que parecem datas continuam strings. A outra direção é TOML para JSON.

Exemplos

Configurações do aplicativo

{"server": {"host": "0.0.0.0", "port": 8080}} se torna uma tabela [server] com as chaves host e port.

Lista de workers

"workers": [{"queue": "mail"}, {"queue": "images"}] se torna dois blocos [[workers]].

Perguntas frequentes

Por que null não é permitido?

O TOML não tem valor null. Deixe a chave de fora ou use um valor como uma string vazia, dependendo do que o programa que lê espera.

Por que um array de números e strings exibe uma observação?

Arrays de tipos mistos são permitidos desde o TOML 1.0, mas ferramentas que implementam o TOML 0.5 os rejeitam. A observação ajuda se a ferramenta de destino for mais antiga.

1.0 continuará sendo um float?

Não. O JSON armazena 1.0 e 1 como o mesmo número, então ele se torna o inteiro 1. Escreva 1.5 ou edite o TOML se o programa que lê precisar de um float.

Privacidade

A conversão é feita inteiramente no seu navegador. Seu JSON e seu TOML não são enviados nem armazenados.