Ferramentas JSON

JSON para TOMLconfira a estrutura antes de salvar

Compare tabelas comuns e tabelas em linha usando os servidores do exemplo e a chave com ponto.

JSON para TOML

TOML para JSON

Entrada JSON

Processamento neste navegador. A entrada não é enviada nem armazenada.

Resultado TOML

Opções de saída

Prévia dos tipos

Resultado desatualizado; exportação desativada.

JSON para TOML ajuda a aproveitar um objeto gerado por código em um arquivo de configuração dividido em seções. A troca de formato não escolhe campos de uma aplicação nem decide o significado de valores ausentes.

Um texto que parece uma data continua sendo texto. A chave "api.version" continua tendo esse nome inteiro. Depois de montar o documento, um analisador independente confere a estrutura para evitar ambiguidades.

Por que converter JSON para TOML aqui?

Dar um destino claro a cada objeto

JSON para TOML cria seções nomeadas para objetos aninhados e arrays de tabelas para listas de objetos. Cada parte do caminho recebe aspas separadamente quando necessário. Um ponto dentro da chave não cria um nível extra.

Uma árvore aninhada vira seções de tabelas e dois cartões de objetos repetidos.

Tratar null sem mudar a lista

Apagar um null de um array muda os índices seguintes. Aqui, a conversão para no JSON Pointer indicado sem apagar o item ou usar uma string vazia no lugar. Um erro também impede exportar uma saída antiga.

Um valor ausente destacado interrompe a conversão antes do documento de saída.

Escolher o formato e revisar os caminhos

01

Comparar seções com tabelas em linha

O modo padrão escreve atribuições simples antes de subtabelas para manter o escopo correto. O modo em linha usa uma atribuição para cada campo da raiz. Objetos dentro de arrays mistos sempre usam tabelas em linha.

02

Controlar o momento de executar

A conversão automática espera 350 milissegundos após editar. Desligue para usar Converter ou Ctrl/Cmd+Enter. Mudar a entrada ou a opção bloqueia imediatamente copiar e baixar até a nova saída passar na verificação.

03

Entender a prévia dos tipos

A lista cresce de 50 em 50 até os primeiros 500 nós. Os contadores incluem o documento todo. JSON Pointer escreve / como ~1 e ~ como ~0; erros trazem também linha e coluna da entrada.

Detalhes que a representação mantém

Subtabelas ligadas ao pai certo

Arrays não vazios compostos só por objetos viram [[tabelas]]. As subtabelas e os arrays filhos ficam associados ao item pai atual. Objetos vazios continuam presentes e arrays vazios ficam como []. A ordem dos itens é mantida.

Inteiros sem arredondamento intermediário

Inteiros de 64 bits com sinal são escritos a partir do token, sem passar por Number, inclusive acima de 2⁵³. Decimais e expoentes mantêm a grafia. -0 sai como -0.0 para preservar o sinal em ponto flutuante.

Strings não viram datas por suposição

"007", "true" e datas entre aspas continuam strings. Chaves vazias, espaços e Unicode recebem aspas quando precisam. Quebras de linha, controles, aspas e barras invertidas são escapados de acordo com a string básica.

Uma segunda leitura confere a saída

Outro parser lê o TOML usando BigInt para inteiros. Chaves, tipos, strings e tamanhos dos arrays são comparados à árvore de origem. A sintaxe emitida é compatível com TOML 1.0; só depois da conferência a exportação fica disponível.

O que exige uma decisão sua

Usar um objeto na raiz
Arrays e valores isolados não são documentos aceitos. Se precisar envolver um array, escolha uma propriedade com significado para o aplicativo. {} gera um TOML vazio válido, que pode ser baixado como arquivo de zero bytes.
Não contar com correção automática
Comentários, vírgulas finais, JSON5 e chaves duplicadas após decodificar são rejeitados. Null falha em qualquer profundidade. O conversor não ordena, apara, apaga valores, preenche padrões nem repara a entrada.
Respeitar limites de números e caracteres
Inteiros vão de -9223372036854775808 a 9223372036854775807. Flutuantes infinitos ou valores não nulos que viram zero são rejeitados. Outros decimais ainda podem ser arredondados pelo leitor final. Substitutos Unicode isolados não são aceitos.
Processar um documento por vez
Até 500.000 caracteres de entrada, profundidade 100, 50.000 nós e 2.000.000 caracteres de saída. O limite da prévia não corta o arquivo. Sem importação de arquivos, busca por URL, pacote em lote ou histórico salvo.
Validar os campos no aplicativo
Converter JSON para TOML não transforma package.json em um manifesto Cargo ou pyproject válido. O esquema da configuração depende do programa de destino. Espaçamento, grafia dos escapes e ordem global de chaves podem mudar.

Perguntas sobre JSON para TOML

Qual é uma maneira prática de fazer a conversão?

Cole um objeto neste conversor JSON para TOML e escolha o formato das tabelas. Confira os tipos antes de copiar. Ao editar vários campos relacionados, desligue a execução automática e converta uma vez ao terminar.

TOML aceita arrays aninhados de objetos ou tabelas?

Sim. O modo padrão escreve listas de objetos como arrays de tabelas, com cada subtabela junto do pai correspondente. Em arrays com tipos misturados, os objetos aparecem como tabelas em linha.

Por que o JSON precisa ser um objeto?

O documento TOML representa uma tabela raiz com valores nomeados. Um array anônimo não fornece uma chave. Adicione uma propriedade adequada à sua configuração; a ferramenta não inventa um nome como items.

Por que TOML não tem null?

Null não está entre os tipos de valor do formato. Omitir um campo, usar uma string vazia e aplicar um padrão são escolhas diferentes. O primeiro null é informado para que você decida conforme o aplicativo.

A conversão de ida e volta é sem perdas?

Não em todos os casos. Inteiros aceitos são exatos, e strings e arrays são conferidos, mas leitores podem arredondar números flutuantes. A formatação muda e esta página não realiza a conversão inversa.

Encontrou um caso que não foi tratado corretamente?

Conferir a próxima configuração

Use JSON para TOML com o exemplo para comparar a chave com ponto e as subtabelas de cada servidor antes de salvar seu documento.