Conversor de JSON para YAML - Converta nos dois sentidos online
Converta JSON em YAML e de volta
Convertendo entre JSON e YAML
JSON e YAML descrevem os mesmos dados — mapas, listas, strings, números, booleanos e null — em duas sintaxes. JSON é o que APIs e arquivos de pacotes falam; YAML é em que se escrevem os arquivos de configuração do Docker, Kubernetes, GitHub Actions e pipelines de CI. Este conversor traduz um no outro na hora e cuida dos detalhes que derrubam as pessoas: aspas, recuo e as palavras estranhas que o YAML trata como booleanos.
Passos
- 1 Escolha a direção e cole seu documento na caixa de cima. O resultado aparece abaixo enquanto você digita.
- 2 Defina a largura do recuo — 2 espaços é a convenção em YAML e na maioria dos guias de estilo JSON.
- 3 Copie o resultado, baixe como arquivo ou use a saída como nova entrada para conferir a ida e volta.
O que muda entre os dois formatos
O YAML dispensa chaves, colchetes e a maioria das aspas e usa recuo para a estrutura, então um objeto JSON de 40 linhas vira um documento YAML de 25. As chaves mantêm a ordem. Listas viram itens com traço; objetos aninhados viram blocos recuados; um objeto ou lista vazios continuam escritos como {} ou []. No sentido inverso, comentários YAML se perdem porque JSON não tem comentários.
Por que algumas strings saem com aspas
Em YAML, um yes, no, on, off, true ou null sem aspas é lido como booleano ou null, e 123 ou 1.0 como número. Uma string parecida com um deles precisa de aspas ou muda de tipo na volta — o exemplo clássico é o código de país NO virar false. O conversor coloca aspas exatamente nessas strings, mais qualquer uma com espaços no início ou fim, dois-pontos seguidos de espaço ou caractere especial inicial, e deixa o resto sem aspas para facilitar a leitura.
Strings de várias linhas
Uma string com quebras de linha é escrita como escalar em bloco do YAML: uma barra vertical na linha da chave e o texto recuado abaixo, com um sinal de menos quando a string não termina em quebra de linha. É a forma que você vê em manifestos do Kubernetes e arquivos de CI, e ela é lida de volta exatamente como a mesma string.
Recuo e compatibilidade
O conversor escreve YAML 1.2, que todo parser moderno lê — PyYAML, js-yaml, Go yaml, Ruby Psych. Chaves aninhadas são recuadas pela largura escolhida; as chaves de um objeto dentro de uma lista ficam dois espaços após o traço de qualquer forma, como a especificação exige. Tabulações nunca são usadas.