YAML e uma linguagem muito maior que JSON. Todo documento JSON e YAML valido, mas o reverso nao e verdade, o que significa que um conversor JSON para YAML pode ser completamente correto enquanto um conversor YAML para JSON tem que recusar as partes de YAML que JSON nao tem forma de expressar.
Usando o conversor JSON para YAML
Escolha uma direcao e uma largura de indentacao, depois pressione Converter. Ao escrever YAML, um mapping se torna uma chave por linha, um array repete seu traco por item, e um null se torna uma chave sem valor algum.
O bug contra o qual esta ferramenta especificamente protege
Um escalar YAML simples que parece um numero, um booleano, ou um indicador
YAML e lido incorretamente como esse tipo no momento em que algo analisa
o arquivo de volta. Um CEP de 01234 e o caso classico: escrito sem aspas,
um analisador YAML o le como o numero 1234 e o zero a esquerda e perdido
para sempre. O mesmo problema atinge uma string que por acaso se le como
"true" ou "null".
Convertendo
{"zip":"01234","active":"true","note":null,"id":12345678901234567890}
produz:
zip: '01234'
active: 'true'
note: null
id: 12345678901234567890
Ambos os valores de string sao especificamente colocados entre aspas porque
deixa-los sem aspas mudaria seu tipo ao voltar. O null real e escrito
sem aspas, ja que essa e a ortografia correta sem aspas. O id de vinte
digitos sobrevive intacto, porque isso vai pelo fluxo de tokens em vez de
um valor analisado por JSON.parse.
O que o leitor aceita e o que recusa
Lendo YAML de volta para JSON, a ferramenta entende um mapping, uma sequencia, uma string entre aspas, um escalar de bloco, uma colecao de fluxo, e um escalar simples dobrado. Recusa ancoragens, aliases e tags por nome em vez de ignora-las silenciosamente, porque YAML nao tem equivalente para dar alias a um valor dentro de JSON e fingir o contrario produziria um documento que so parece correto.
Volta completa
Converter o exemplo acima de volta do YAML retorna o documento original
exato: "01234" e "true" como strings, null como null, e o inteiro
completo de vinte digitos. Essa volta completa e o verdadeiro teste de se
as regras de aspas de um conversor estao corretas, ja que uma regra errada
geralmente so aparece quando voce converte de volta e compara.