Como usar
- Cole um objeto JSON ou experimente o exemplo.
- Ative “Omitir valores null” se o seu JSON tiver valores null desnecessários.
- 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.