SS Toolbox
SS Toolbox
Todos os dados são processados localmente

Conversor TOML para JSON para Cargo.toml, pyproject.toml e configs Rust

Leia Cargo.toml, pyproject.toml ou qualquer configuração TOML como JSON e escreva objetos JSON de volta como tabelas TOML no navegador. O parser trata datas, tabelas de tabelas e tabelas com pontos; comentários, ordem de chaves e null não são preservados.

Como este conversor TOML ↔ JSON se comporta

  1. Feito para arquivos de manifesto

    Cole Cargo.toml ou pyproject.toml e inspecione tabelas aninhadas e entradas [[bin]] / [[bench]] como objetos e arrays JSON.

  2. Tabelas de tabelas funcionam nos dois sentidos

    Blocos [[products]] viram arrays de objetos, e um array JSON de objetos com a mesma forma é reescrito como blocos [[table]]. Arrays aninhados permanecem inline.

  3. Datas e horas são analisadas como objetos Date

    Data-hora, datas e horas TOML viram Date do JavaScript, então o JSON mostra strings ISO como 1979-05-27T07:32:00.000Z. Ao converter de volta, é escrito um texto entre aspas, não uma data TOML nativa.

  4. Tabelas aninhadas e com pontos são reconstruídas

    [tool.poetry] e [a.b] viram objetos aninhados. Chaves escalares saem antes das subtabelas, então a ordem original não é preservada.

  5. Conversão local com seleção de arquivo

    Escolha arquivos .toml / .json ou cole o texto e baixe o resultado. Nada é enviado e não há opções de indentação ou ordenação.

Perguntas frequentes sobre TOML ↔ JSON

JSON → TOML aceita null?

Não. TOML não tem tipo null e o serializador descarta silenciosamente chaves com valor null, incluindo itens null em arrays. Remova ou substitua os null antes de converter, ou os dados desaparecem sem erro.

Como datas e horas são tratadas?

TOML → JSON analisa data-hora, datas locais e horas locais como objetos Date e mostra strings ISO: 1979-05-27T07:32:00.000Z, 1979-05-27, 07:32:00.000. JSON → TOML trata esses textos como texto comum e os coloca entre aspas, então não voltam como datas TOML nativas. Apenas um objeto Date real gerado na análise é escrito sem aspas. Uma hora curta como 07:32 falha com «Incomplete time»: os segundos são obrigatórios.

Comentários e ordem de chaves são preservados?

Não. Comentários e linhas vazias são descartados na análise e nunca regenerados. A ordem também muda: chaves escalares primeiro, depois subtabelas. Chaves duplicadas são rejeitadas com «Can't redefine existing key».

Como tabelas de tabelas são representadas?

Blocos [[products]] viram arrays de objetos JSON. No sentido inverso, um array de objetos é escrito como blocos [[products]], e arrays aninhados permanecem inline. A raiz do JSON deve ser um objeto: uma raiz array falha com «Can only stringify objects, not array».

Por que meu array JSON falha com «Array values can't have mixed types»?

Este parser exige arrays TOML homogêneos (regras TOML 0.5). Um array misturando números e strings, ou objetos e escalares, gera erro. Separe em vários arrays ou use uma tabela.

E inteiros grandes, NaN e valores vazios?

Inteiros acima de 2^53 perdem precisão e são escritos com underscores, por exemplo 12_345_678_901_234_567_000. NaN e Infinity viram nan / inf. Array vazio é escrito [ ], objeto vazio { }, e chaves undefined são ignoradas em silêncio.

Meu arquivo é enviado e o que acontece em caso de erro?

Tudo roda no navegador; arquivos nunca são enviados. Não há limite configurado, mas a conversão é síncrona, então um manifesto de vários MB pode travar a página. TOML inválido deixa a caixa esquerda vermelha e mostra um toast; JSON inválido deixa a direita vermelha. Nenhum sentido gera resultado parcial.

Ferramentas Relacionadas
SponsorMindElixir