Como usar: JSON para YAML
- Cole o JSON no painel JSON, abra um arquivo
.jsonou clique em Carregar exemplo. - O painel YAML é atualizado na hora. Escolha uma indentação de 2 ou 4 espaços e, se quiser, ordene as chaves ou coloque aspas em todas as strings.
- Edite o YAML diretamente, se preferir. O lado do JSON também será atualizado.
- Clique em Copiar ou Baixar para salvar o
data.yaml.
O que faz um conversor de JSON para YAML?
Ele analisa um documento JSON e serializa de novo os mesmos dados em YAML. Como o YAML 1.2 é um superconjunto do JSON, todo valor JSON tem um equivalente exato em YAML: objetos viram mapeamentos, arrays viram sequências (- item), e strings, números, booleanos e null mantêm o mesmo tipo. O resultado costuma ser de 20 a 40% menor e bem mais fácil de ler e editar à mão, por isso o YAML é o padrão para Kubernetes, Docker Compose, GitHub Actions, Ansible e especificações OpenAPI.
Exemplo
Este JSON:
{
"service": "api",
"replicas": 3,
"ports": [8080, 9090],
"env": {"LOG_LEVEL": "info"}
}
vira este YAML:
service: api
replicas: 3
ports:
- 8080
- 9090
env:
LOG_LEVEL: info
Como as strings recebem aspas
O conversor (baseado na biblioteca js-yaml, muito usada) só adiciona aspas onde são necessárias para que o valor continue sendo string. Valores como "yes", "on", "123", "null" ou "2024-01-01" recebem aspas porque um yes sem aspas seria lido como booleano pelos parsers de YAML 1.1 (o famoso “problema da Noruega”, em que o código de país NO vira false). Strings que contêm : , # ou espaços no início também recebem aspas. Strings com várias linhas são escritas como blocos literais (|-), para que as quebras de linha continuem legíveis. Ative Colocar aspas em todas as strings se alguma ferramenta que vai usar o arquivo exigir todas as strings entre aspas.
JSON vs. YAML num relance
| JSON | YAML | |
|---|---|---|
| Comentários | Não permitidos | # comentário |
| Estrutura | Chaves e colchetes | Indentação |
| Aspas | Obrigatórias em chaves e strings | Geralmente opcionais |
| Strings com várias linhas | Escapes \n | Blocos | e > |
| Reutilização | Nenhuma | Âncoras & e aliases * |
| Ideal para | APIs, troca de dados | Configurações editadas por pessoas |
Dicas para arquivos de configuração
A indentação em YAML deve usar espaços, nunca tabs. Dois espaços é a convenção do Kubernetes e da maioria dos sistemas de CI. Depois da conversão, você pode adicionar comentários para explicar as configurações, algo que o JSON não suporta. Para fazer o caminho inverso, use o conversor de YAML para JSON; para organizar o JSON antes, passe por o Formatador de JSON.
Também pesquisado como: converter json para yaml, conversor json yaml, json para yml, json2yaml, gerador yaml.
Ferramentas que combinam com: JSON para YAML
- JSON para CSV — Transforme um array JSON em um CSV pronto para planilha.
- JSON para TypeScript — Cole um exemplo de JSON, como a resposta de uma API ou um arquivo de configuração, e receba interfaces TypeScript prontas para uso, com tipos aninhados, propriedades opcionais e union types.
- Validador JSON Schema — Cole um schema e um JSON para ver exatamente quais valores quebram cada regra, ou gere um schema inicial a partir de dados de exemplo.
- Testador de JSONPath — Digite uma consulta JSONPath e veja na hora o que ela seleciona, com o caminho exato de cada resultado.
Perguntas frequentes
YAML é um superconjunto do JSON?
Por que algumas strings aparecem entre aspas no YAML gerado?
"yes", "off", "0123" ou "1.0" seriam interpretadas como booleanos ou números se estivessem sem aspas, então recebem aspas para continuar sendo strings.Posso converter JSON para YAML para o Kubernetes?
kubectl get … -o json e você terá YAML que pode salvar como manifest. Remova campos gerados pelo servidor, como status, uid e resourceVersion, antes de aplicar de novo.