Como converter YAML para JSON (e JSON para YAML)
Converta arquivos de configuração entre YAML e JSON, entenda o que muda (comentários, aliases, tipos) e evite os erros mais comuns de indentação.
Publicado em
Quando você precisa converter
O YAML é o formato favorito para arquivos de configuração: docker-compose, workflows do GitHub Actions, manifestos do Kubernetes e especificações OpenAPI. Já o JSON domina as APIs e o código. É comum precisar levar o conteúdo de um formato para o outro, seja para testar uma configuração em uma ferramenta que só lê JSON, seja para deixar um JSON mais legível como YAML.
Converter YAML para JSON
- Abra o Transform e escolha YAML → JSON.
- Cole o YAML no campo de entrada.
- Se quiser, ajuste a indentação do resultado e clique em Transformar.
# Configuração do serviço
servico: api
porta: 8080
ativo: true
tags:
- web
- interno
banco:
host: localhost
porta: 5432{
"servico": "api",
"porta": 8080,
"ativo": true,
"tags": [
"web",
"interno"
],
"banco": {
"host": "localhost",
"porta": 5432
}
}Repare que o comentário da primeira linha não aparece no JSON, e que 8080 e true foram reconhecidos como número e booleano, sem aspas.
Converter JSON para YAML
O caminho inverso é a conversão JSON → YAML. Também dá para escolher quantos espaços de indentação usar (o padrão é 2).
{
"servico": "api",
"porta": 8080,
"ativo": true,
"tags": ["web", "interno"],
"banco": { "host": "localhost", "porta": 5432 }
}servico: api
porta: 8080
ativo: true
tags:
- web
- interno
banco:
host: localhost
porta: 5432O que muda na conversão
- Comentários: existem só no YAML e se perdem ao ir para JSON.
- Âncoras e aliases (
&e*): são expandidos, então um trecho reaproveitado aparece repetido no JSON. - Tipos: o YAML reconhece números, booleanos, nulos e datas sem aspas. O JSON tem só texto, número, booleano, nulo, lista e objeto; uma data vira texto.
- Ordem das chaves: é mantida como no original.
Erros comuns em YAML
- Tabulação na indentação: o YAML só aceita espaços para indentar. Um Tab causa erro.
- Indentação inconsistente: itens do mesmo nível precisam ter o mesmo recuo.
- Dois-pontos dentro de textos: um valor como
horario: 10:30pode ser lido de forma inesperada. Coloque entre aspas quando houver:,#ou-no início.
Valores que parecem outra coisa
Palavras comono e on, números com zero à esquerda (08) e versões como 1.10 podem ser interpretados de formas diferentes por diferentes leitores de YAML. Se for essencial que sejam texto, coloque-os entre aspas.Perguntas frequentes
Todo JSON é um YAML válido?
Na prática, sim: YAML 1.2 foi desenhado para aceitar JSON como um subconjunto. Por isso a conversão de JSON para YAML nunca falha por causa do formato, apenas muda a aparência.
Os comentários são preservados na conversão?
Não. O JSON não tem comentários, então as linhas começadas com # somem ao converter YAML para JSON. Guarde o YAML original se os comentários forem importantes.
Como converto YAML para TOML?
O Transform tem a conversão YAML → TOML. Lembre que o TOML exige um objeto na raiz, então um YAML que começa com uma lista não pode ser convertido diretamente.
Existe um limite de tamanho?
O campo de entrada aceita até 10 milhões de caracteres. Além disso, a expansão de aliases do YAML é limitada por segurança, para que um arquivo malicioso não consuma toda a memória do navegador.