Pular para o conteúdo

JSON ⇄ TOML conversor

JSON ⇄ TOML

Converte entre JSON e TOML, mapeando objetos aninhados em cabeçalhos de tabela.

A metade JSON ⇄ TOML do mesmo conversor, para a hora em que um `Cargo.toml`, um `pyproject.toml` ou um `netlify.toml` precisa virar algo que um script consiga ler — ou o contrário. TOML é mais estrito que JSON sobre o que um valor pode ser, e as diferenças aparecem como avisos, não como surpresas.

🔒 Roda inteiramente no seu navegadorjsontomlconvert
De
Lendo como YAML.
Para

Entrada

Solte um arquivo .yaml, .json ou .toml

Lido nesta aba. Nada é enviado.

JSON de saída

Foram escritos aqui em vez de puxados do npm, o que quer dizer que o subconjunto é escolhido e não herdado. Tudo o que está nesta lista é recusado pelo nome em vez de ser lido errado.

Como usar

  1. Cole o TOML, ou o JSON

    A detecção distingue os dois com facilidade — cabeçalhos `[section]` e chaves sem aspas não deixam dúvida —, mas o seletor De está ali para quando você quiser ter certeza.

  2. Defina o destino como TOML ou JSON

    Indo para TOML, as tabelas são emitidas como cabeçalhos `[section]` em vez de tabelas inline sempre que a forma permite, que é a cara de uma configuração editada à mão.

  3. Confira o que o TOML não conseguiu guardar

    Nulos são descartados, e datas e horas vindas do TOML viram strings porque JSON não tem tipo de data. As duas coisas são listadas nos avisos quando acontecem.

Perguntas frequentes

Por que minhas datas viraram strings?

TOML tem datas e horas com offset, datas locais e horas locais como tipos de primeira classe; JSON não tem nenhum deles. Levar o texto adiante é a única opção que parece sem perda, e a volta para TOML vai produzir uma string entre aspas em vez do literal de data original.

Ele converte um array de tipos mistos?

Para JSON, sim. Para TOML o array é emitido como está; TOML 1.0 permite arrays heterogêneos, mas muitos leitores de TOML por aí — e o TOML 0.5 — não, então um array misto merece uma segunda olhada antes do commit.

Ele pega chaves duplicadas?

Sim: uma chave definida duas vezes, ou uma tabela redefinida, é um erro de TOML e é relatada como tal, em vez de ficar em silêncio com o último valor como faria um leitor tolerante.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.