O que é o Conversor de JSON para TOML?
O Conversor de JSON para TOML transforma dados JSON (JavaScript Object Notation) em formato TOML (Tom's Obvious Minimal Language). Ele lida com objetos, arrays, estruturas aninhadas e detecta automaticamente valores de data e hora para produzir uma saída TOML limpa e válida.
Quando Você Precisa Disso?
Configuração de Projeto
Fluxos de Trabalho DevOps
Migração de Dados
Aprendendo TOML
Seus Dados Permanecem Privados
- Sem uploads — Seus dados nunca saem do seu dispositivo
- Sem rastreamento — Não coletamos ou armazenamos nenhum dado de entrada
- Sem processamento no servidor — Tudo funciona localmente no seu navegador
Como Usar
Insira Seu JSON
Cole ou digite seus dados JSON no painel esquerdo. Você também pode clicar no ícone de upload para carregar um arquivo JSON do seu dispositivo.
Conversão Automática
A saída TOML aparece automaticamente no painel direito conforme você digita, com validação em tempo real e formatação.
Ajuste as Opções
Configure as opções de conversão, como tratamento de valores nulos e formatação de tabelas inline, para atender às suas necessidades.
Exporte o Resultado
Copie a saída TOML para sua área de transferência ou baixe-a como um arquivo .toml para uso imediato no seu projeto.
Opções de Conversão
Tratamento de Valores Nulos
Escolha como lidar com valores nulos em seu JSON:
- Pular — Omita chaves nulas da saída completamente
- String Vazia ("") — Converta nulo em string vazia
Tabelas Inline
Formatação compacta para objetos pequenos:
- Objetos com ≤3 chaves primitivas são exibidos como
{ key = "value" } - Produz saída mais legível e compacta
Upload de Arquivo
Clique no ícone de upload na barra de ferramentas para carregar um arquivo JSON do seu dispositivo. O conteúdo do arquivo será carregado automaticamente no editor e convertido para formato TOML instantaneamente.
Recursos Principais
Conversão em Tempo Real
JSON é convertido para TOML conforme você digita, com debouncing inteligente para otimizar o desempenho. Mudanças nas opções de conversão acionam re-conversão instantânea, dando a você feedback imediato sobre sua saída.
Mapeamento Inteligente de Estrutura
O conversor mapeia inteligentemente estruturas JSON para seus equivalentes TOML com precisão:
| Estrutura JSON | Saída TOML | Exemplo |
|---|---|---|
| Objetos | Tabelas TOML com cabeçalhos [table] |
[database] |
| Objetos aninhados | Notação de caminho com pontos | [server.config] |
| Arrays de objetos | Sintaxe de array de tabelas | [[products]] |
| Arrays primitivos | Arrays inline | ["a", "b", "c"] |
| Primitivos | Mapeamento direto de valor | port = 8080 |
Tratamento de Valores Nulos
Omitir Chaves Nulas
- Chaves nulas não aparecem na saída
- Mensagem de aviso mostra chaves omitidas
- Saída mais limpa para campos opcionais
Conversão para String Vazia
- Nulo se torna
"" - Preserva todas as chaves na saída
- Mantém consistência de estrutura
Tabelas Inline
Objetos pequenos com até 3 valores primitivos podem ser exibidos como tabelas inline TOML em vez de seções de tabela separadas, produzindo uma saída mais compacta e legível.
# Without inline tables
[point]
x = 1
y = 2
z = 3
# With inline tables enabled
point = { x = 1, y = 2, z = 3 }
Detecção de Data e Hora
Strings que correspondem aos padrões de data, hora ou data-hora RFC 3339 são automaticamente reconhecidas e exibidas como valores TOML de data-hora sem aspas, garantindo o tratamento correto do tipo.
- Formato de data:
2024-01-15 - Formato de data-hora:
2024-01-15T10:30:00Z - Formato de hora:
10:30:00
Aspas Inteligentes de Chaves
Chaves JSON contendo espaços, pontos ou caracteres especiais são automaticamente aspadas na saída TOML para validade. Chaves alfanuméricas simples usam formato sem aspas para máxima legibilidade.
# Simple keys (no quotes needed)
name = "John"
age = 30
# Special keys (automatically quoted)
"user.name" = "John"
"first name" = "John"
"api-key" = "secret"
Barra de Status
A barra de status na parte inferior fornece feedback em tempo real sobre sua conversão:
- Estado de validação — Mostra status Válido, Inválido ou Pronto
- Contagem de chaves — Número total de chaves na saída
- Tamanho do arquivo — Tamanho da saída em bytes para planejamento de download
Perguntas Frequentes
Por que não consigo converter um array JSON como raiz?
TOML requer que a raiz seja uma tabela (pares chave-valor). Um array JSON no nível raiz não tem equivalente na especificação TOML.
Solução: Envolva seu array em um objeto primeiro. Por exemplo:
// Instead of: [1, 2, 3]
// Use:
{
"items": [1, 2, 3]
}
Como os valores nulos são tratados?
TOML não possui tipo nulo. Você pode escolher entre duas estratégias:
- Pular — Chaves nulas não aparecerão na saída. Uma mensagem de aviso mostra quais chaves foram omitidas.
- Converter para string vazia — Valores nulos se tornam
"", preservando todas as chaves na saída.
Selecione a estratégia que melhor se adequa ao seu caso de uso nas opções de conversão.
O que são tabelas inline?
Tabelas inline são uma sintaxe TOML compacta para objetos pequenos, exibidas em uma única linha:
point = { x = 1, y = 2 }
Ative a opção Tabelas Inline para usar este formato para objetos com até 3 valores primitivos. Isso produz uma saída mais compacta e legível para estruturas simples.
Como arrays de objetos são convertidos?
Arrays onde cada elemento é um objeto se tornam array de tabelas TOML usando a sintaxe [[name]]:
[[products]]
name = "Hammer"
price = 9.99
[[products]]
name = "Nail"
price = 0.05
Nota: Arrays mistos (contendo objetos e primitivos) são tratados como arrays inline em vez disso.
Strings de data e hora são detectadas automaticamente?
Sim. Strings que correspondem aos padrões RFC 3339 são automaticamente reconhecidas e exibidas como datas-horas TOML sem aspas:
2024-01-15— Formato de data2024-01-15T10:30:00Z— Data-hora com fuso horário10:30:00— Formato de hora
Isso garante o tratamento correto do tipo e compatibilidade com analisadores TOML.
Existe um limite de tamanho?
Como todo processamento acontece no seu navegador, o limite prático depende da memória disponível do seu dispositivo e poder de processamento.
Para desempenho ideal, recomendamos arquivos menores que 5MB. Arquivos maiores ainda funcionarão, mas podem levar mais tempo para processar.
Ainda não há comentários. Seja o primeiro a comentar!