Como usar
- Cole o YAML na entrada ou experimente o exemplo.
- Escolha 2 ou 4 espaços de indentação.
- Copie o JSON ou baixe-o como um arquivo .json.
Como funciona
O YAML é analisado com a biblioteca open-source yaml usando o esquema core do YAML 1.2, que é o que as ferramentas modernas esperam: yes, no, on e off continuam como strings, e apenas true e false são booleanos. Âncoras (&name) e aliases (*name) são expandidas e as chaves de mesclagem << são aplicadas; o número de expansões de alias é limitado, então documentos deliberadamente explosivos são rejeitados em vez de travar a página.
Um arquivo com vários documentos separados por --- se torna um array JSON com um elemento por documento. Comentários, âncoras e tags não têm equivalente em JSON e são descartados; as chaves mantêm sua ordem. Timestamps continuam como strings. Inteiros com mais de cerca de 15 dígitos perdem precisão, como em qualquer JSON manipulado em JavaScript.
Se o YAML for inválido, o primeiro erro é mostrado com linha e coluna, por exemplo um tab usado para indentação ou um colchete de fechamento ausente. Para a direção oposta, use JSON para YAML ou o conversor bidirecional JSON ⇄ YAML.
Exemplos
Arquivo de CI com âncoras
Uma lista de jobs que reutiliza um bloco de padrões com <<: *defaults se torna JSON com os padrões copiados em cada job, para você ver exatamente o que cada job recebe.
Arquivo Kubernetes com múltiplos documentos
Um arquivo com uma Deployment e um Service separados por --- se torna um array JSON de dois objetos, pronto para kubectl ou jq.
Perguntas frequentes
Por que o yes continua como string?
O YAML 1.2, usado aqui e pela maioria das ferramentas atuais, trata apenas true e false como booleanos. Parsers YAML 1.1 mais antigos transformavam yes, no, on e off em booleanos, o que causava muitos bugs.
O que acontece com os comentários?
O JSON não tem comentários, então eles são descartados. Os dados em si não são alterados.
Existe algum limite de tamanho?
Apenas a memória do seu navegador. Arquivos grandes são convertidos após uma breve pausa enquanto você digita, para que a página continue responsiva.
Privacidade
A conversão é feita inteiramente no seu navegador. Seus dados YAML e JSON não são enviados nem armazenados.