Como usar
- Cole o seu YAML em Texto YAML.
- Leia a Validade. Se ela indicar uma linha e uma coluna, corrija o YAML naquele lugar.
- Se o YAML tiver vários documentos, o Texto JSON é um array com um item para cada documento.
- Copie o Texto JSON, ou baixe-o como data.json.
Como o YAML é lido
O YAML 1.2 é definido pela sua especificação, que diz como indentação, nomes, listas, textos entre aspas e blocos são lidos. Esta ferramenta lê o texto com a biblioteca yaml, que segue essa especificação, e depois escreve o resultado como JSON.
- Um mapeamento vira um objeto JSON, com os seus nomes na ordem em que são escritos. Uma sequência vira um array. As palavras true, false e null viram booleanos e null, enquanto um texto entre aspas continua texto.
- Um número inteiro mantém todos os dígitos. Um nome repetido em um mesmo mapeamento é informado como erro, porque o JSON guardaria só um dos seus valores.
- Um valor como .inf ou .nan não tem forma em JSON, então é recusado em vez de ser escrito como null ou como um número alterado.
Vários documentos e aliases
Um arquivo YAML pode ter vários documentos, cada um iniciado por uma linha com ---. O conversor lê todos. Um documento gera um valor JSON; vários geram um array JSON com um item por documento, na ordem em que aparecem. Um alias (*nome) é trocado pelo valor para o qual aponta. Um arquivo que repete um alias tantas vezes que o resultado cresceria demais é recusado.
Exemplo resolvido: um arquivo com dois documentos
O exemplo 2.7 da especificação do YAML 1.2, Two Documents in a Stream, tem uma lista de batedores de home run, depois uma linha com ---, e depois uma lista de times. Convertido, o resultado é um array JSON de dois arrays, um para cada documento.
O primeiro array tem os três jogadores, e o segundo tem os dois times, na ordem em que são escritos.
| Documento | Item JSON |
|---|---|
| 1 | ["Mark McGwire", "Sammy Sosa", "Ken Griffey"] |
| 2 | ["Chicago Cubs", "St Louis Cardinals"] |
Perguntas frequentes
Por que o erro mostra uma linha e uma coluna?
A posição é onde o analisador percebeu o problema, contada a partir de 1. O erro de fato pode estar um pouco antes, por exemplo uma indentação errada na linha anterior à que é indicada.
O que significa o aviso sobre vários documentos?
Cada linha que começa com --- inicia um novo documento. O JSON é então um array com um item para cada documento, na ordem. Se você queria um só documento, remova a linha --- extra.
Por que .inf ou .nan dão erro?
O JSON não tem infinito nem não-número, então esse valor não pode ser escrito sem ser alterado. Troque-o por um número ou por um texto, e converta o YAML de novo.
Os números são alterados na conversão?
Os inteiros mantêm todos os dígitos, então 12345678901234567890 é escrito exatamente. Um número decimal é escrito como o número JavaScript mais próximo, então 1.50 vira 1.5 com o mesmo valor.
O JSON mantém a ordem dos nomes?
Sim. Os nomes aparecem na ordem em que são escritos no YAML. Um objeto JavaScript levaria um nome como 2024 para o início, e este conversor não faz isso.
O meu YAML é enviado para algum servidor?
Não. A conversão roda no seu navegador, e nada do que você cola é enviado para o nosso servidor.
Fontes
- YAML Ain't Markup Language (em inglês): revisão 1.2.2
- RFC 8259 (em inglês): The JavaScript Object Notation (JSON) Data Interchange Format
- yaml (em inglês): a biblioteca JavaScript de YAML usada por esta ferramenta
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.