YAML: indentação, tabs proibidos e valores ambíguos

YAML representa os mesmos tipos de dado que o JSON, mas com indentação por espaços em vez de chaves. Entenda por que tab é proibido pela especificação, quais valores viram booleano sem você pedir e onde o YAML aparece em configuração e OpenAPI.

YAML

Formatos de Dados

YAML (YAML Ain't Markup Language) representa os mesmos tipos de dado que um JSON — objetos, listas, strings, números, booleanos — mas usa indentação por espaços em vez de chaves e colchetes, pensado para ser mais legível quando escrito e editado por uma pessoa.

cnpj: "12345678000199"
razaoSocial: Empresa Exemplo LTDA
aliquota: 3.5
enderecos:
  - uf: SP
    municipio: São Paulo

Dois cuidados clássicos: a indentação precisa ser sempre espaços, nunca tab (a especificação proíbe); e valores "parecidos com booleano" viram true/false sem aspas — o chamado Norway problem, em que o código de país NO vira false se não for escrito como "NO". Nenhum autorizador fiscal brasileiro aceita documentos em YAML — Sefaz, Prefeituras e o ADN falam XML ou JSON — mas ele aparece com frequência em specs técnicas (OpenAPI), arquivos de configuração e pipelines de integração.

Assim como JSON, chaves e valores string em YAML são case sensitive — municipio e Municipio são duas chaves distintas no mesmo mapa. A única exceção de peso é justamente o Norway problem citado acima: palavras como yes/Yes/YES ou no/No/NO, em qualquer caixa, são todas interpretadas como booleano pelo parser — o que reforça por que um código como "NO" precisa ir entre aspas.

Use o formatador de YAML para validar e converter para JSON, XML ou CSV.

Aplique o conceito nas ferramentas.

As ferramentas de JSON, XML, YAML, TOON, CSV, Base64, caracteres especiais e detecção de charset rodam localmente no navegador, sem enviar o seu documento fiscal para nenhum servidor.

Conteúdo de referência gratuito — sem necessidade de login.