YAML para JSON

YAML é mais agradável de escrever à mão, JSON é mais agradável de consumir programaticamente, e muitas ferramentas modernas (pipelines CI, Kubernetes, Ansible) aceitam ambos. Quando você precisa colar uma configuração em uma ferramenta que insiste em JSON, definições de API Gateway, templates do CloudFormation, alguns corpos de webhook, este conversor faz a conversão. Âncoras, mesclagens e tipos específicos de YAML (datas, octais, null, ~) são todos normalizados em equivalentes JSON.

Como converter YAML para JSON

  1. 1

    Cole YAML

    Qualquer documento YAML 1.1 ou 1.2 válido.

  2. 2

    Resolver âncoras

    Âncoras (`&x`) e aliases (`*x`) são expandidos inline. Chaves de mesclagem (`<<`) são achatadas.

  3. 3

    Normalizar tipos

    Datas, valores nulos, booleanos são todos convertidos para equivalentes JSON.

  4. 4

    Saída JSON

    Formatado ou minimizado, sua escolha.

Exemplo de conversão

YAML:

defaults: &defaults
  timeout: 30
  retries: 3

production:
  <<: *defaults
  host: prod.example.com
  debug: false

staging:
  <<: *defaults
  host: staging.example.com
  debug: true

JSON (âncoras resolvidas):

{
  "defaults": {
    "timeout": 30,
    "retries": 3
  },
  "production": {
    "timeout": 30,
    "retries": 3,
    "host": "prod.example.com",
    "debug": false
  },
  "staging": {
    "timeout": 30,
    "retries": 3,
    "host": "staging.example.com",
    "debug": true
  }
}

Mapeamentos de tipo

YAML JSON
Texto Texto
Inteiro Número
Ponto flutuante Número
Booleano (true, false) Booleano
Nulo (null, ~, em branco) null
Carimbo de data/hora Texto ISO 8601
Sequência (lista) Array
Mapeamento Objeto

Coisas específicas de YAML que JSON não pode representar

  • Comentários. JSON não tem uma sintaxe de comentário padrão. Comentários são descartados.
  • Streams de múltiplos documentos (--- separadores). JSON é um documento por arquivo; o conversor emite um array de documentos quando há múltiplos.
  • Âncoras e aliases. Resolvidos e duplicados inline.
  • Chaves complexas (chaves de mapeamento não-string). Chaves JSON devem ser strings; chaves complexas são convertidas em strings.

O problema do 1.1 vs 1.2

  • YAML 1.1 analisa yes, no, on, off, y, n como booleanos. NO como código de país se torna silenciosamente false.
  • YAML 1.2 restringe booleanos a true e false. Mais seguro, mas muitos analisadores (incluindo o padrão do PyYAML) ainda usam 1.1.

O conversor usa por padrão a semântica 1.2 e avisa quando 1.1 teria mudado o resultado.

Conversão de volta de JSON para YAML

JSON para YAML geralmente é sem perda (JSON é um subconjunto da sintaxe YAML 1.2). YAML para JSON é com perda: comentários e estrutura de chave de mesclagem desaparecem. Se você planeja fazer a conversão de volta, preserve o YAML original no controle de versão.

Perguntas frequentes

Não, eles têm sua própria template que roda antes da análise do YAML. Renderize o template primeiro (com kustomize build ou helm template), depois forneça a saída aqui.

Timestamps YAML se tornam strings ISO 8601 em JSON. 2026-04-18 se torna "2026-04-18". Horários e fusos horários são preservados.

O limite prático no navegador é em torno de 10 MB. Para arquivos maiores, use yq ou python -c "import yaml, json; print(json.dumps(yaml.safe_load(open(file))))" na linha de comando.

Não. A conversão ocorre no seu navegador e nada é transmitido.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas