JSON para YAML

Cole JSON e receba YAML limpo de volta, indentação adequada de dois espaços, strings citadas apenas quando necessário, valores em várias linhas renderizados como scalars de bloco e ordenação opcional das chaves em ordem alfabética. Útil para converter respostas de API em manifests do Kubernetes, configurações do GitHub Actions ou qualquer ferramenta nativa de YAML.

Como converter JSON para YAML

  1. 1

    Cole JSON

    Qualquer JSON válido. O conversor preserva a estrutura semântica exatamente.

  2. 2

    Escolha a indentação e o estilo

    2 ou 4 espaços, estilo de fluxo para arrays/objetos compactos, ou estilo de bloco para longas.

  3. 3

    Opcional: ordenar chaves

    A ordenação alfabética torna o YAML mais fácil de comparar entre duas versões.

  4. 4

    Copie o YAML

    Cole no seu arquivo `.yaml` / `.yml`. A saída é YAML 1.2 válido.

Exemplo

Entrada:

{
  "name": "hyperion",
  "replicas": 3,
  "env": { "DEBUG": "false", "LOG_LEVEL": "info" },
  "command": ["php", "artisan", "queue:work"]
}

Saída:

name: hyperion
replicas: 3
env:
  DEBUG: "false"
  LOG_LEVEL: info
command:
  - php
  - artisan
  - queue:work

Mapeamento de tipos

JSON YAML
string não citado, citado ou scalar de bloco conforme necessário
integer 42
number 3.14
boolean true / false
null null (ou ~, ou vazio)
array sequência de bloco com - ou fluxo [...]
object mapeamento de bloco com key: value ou fluxo {...}

Quando as strings precisam de citação

O YAML interpreta automaticamente algumas strings como não-strings. Valores que se parecem com estes precisam de citações:

Valor Por que as citações são necessárias
yes, no, on, off Interpretados como booleanos (compatibilidade YAML 1.1)
null, Null, NULL Interpretados como nulo
1.23 Interpretados como número
2026-04-18 Interpretados como data
Espaços em branco à frente/trás Seriam removidos
Começa com *, &, ! Diretrizes do YAML

O conversor cita automaticamente estes e deixa o resto sem citação para legibilidade.

Diferenças de design entre YAML e JSON

  • Comentários: YAML os tem (#), JSON não.
  • Âncoras/aliases: YAML suporta referências cruzadas (&anchor / *alias); JSON repete os dados. A conversão não pode inferir estes; adicione-os manualmente se desejar.
  • Strings em várias linhas: YAML tem scalars de bloco (| preserva novas linhas, > as dobra). O conversor usa estes para strings longas.
  • Representação nula: YAML permite null, ~, ou vazio. O conversor emite null por padrão.

Erros comuns

  • “Problema da Noruega” do YAML 1.1. NO sem citações é booleano false no YAML 1.1. A maioria dos parsers modernos é YAML 1.2 onde apenas true/false são booleanos, mas algumas ferramentas legadas ainda causam problemas.
  • Espaços em branco à direita em valores. O YAML os preserva em scalars de bloco, remove-os em scalars simples. Inesperado se você não souber qual forma você obteve.
  • Tabs na indentação. O YAML proíbe a indentação com tabulação. Sempre use espaços.
  • Strings muito longas em uma única linha. Quebre-as em scalars de bloco para legibilidade; o conversor faz isso automaticamente além de um limite configurável.

Perguntas frequentes

Strings que se parecem com outros tipos de YAML (booleanos, números, datas, null) precisam de citações para permanecer como strings. Strings com caracteres especiais (espaços em branco à frente, não imprimíveis) também precisam de citação. O conversor detecta automaticamente e cita onde necessário.

YAML 1.2 por padrão. Se você precisar de compatibilidade com YAML 1.1 (ferramentas mais antigas, alguns sistemas CI), ative “compatibilidade YAML 1.1” e o conversor adiciona citação extra para valores que seriam booleanos sob 1.1 (yes, no, on, off).

Sim. O estilo de fluxo ([1, 2, 3] e { a: 1 }) está disponível para arrays e objetos compactos. A maioria dos arquivos de configuração prefere o estilo de bloco para legibilidade.

Sim, com uma ressalva: o YAML do K8s muitas vezes depende de comentários e âncoras que o JSON não pode expressar. Converta a forma dos dados e depois adicione comentários / âncoras manualmente.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas