Sobre o YAML ↔ JSON
Manifests Kubernetes, workflows GitHub Actions e configs estilo Spring costumam ficar em YAML, enquanto mocks REST e scripts jq esperam JSON. convertYamlJsonAuto trata input que começa com { ou [ como JSON→YAML; senão yaml.parse emite JSON com indent 2.
Todo JSON válido também é YAML válido, mas YAML traz comentários, âncoras e aspas flexíveis — esta ferramenta foca no modelo compartilhado: maps, listas, strings, números, booleanos e null. Cole um fragmento, converta e copie a saída indentada.
O que você pode fazer
Direção automática
Texto YAML vira JSON indentado com 2 espaços; objetos ou arrays JSON viram YAML com espaçamento legível e ordem de chaves do parser.
O que converte bem
- Maps, listas, strings, números, booleanos e null — shapes típicos de config e fixture.
- Sintaxe JSON é subconjunto de YAML; muitos snippets de config fazem round-trip sem editar.
- Âncoras (&), aliases (*), merge keys e tags custom não são preservados — use YAML simples aqui.
- Comentários YAML somem ao ir para JSON porque JSON não tem comentários.
Kubernetes e DevOps
- Strings multilinha (| e >) viram strings JSON com newlines embutidos — confira aspas nos tools downstream.
- Inteiros muito grandes podem stringificar diferente de parsers JSON estritos — valide contra seu schema de API.
- Arquivos multi-documento (---): converta um documento por paste.
Quando a conversão falha
- Indentação inconsistente ou tabs em vez de espaços — YAML é sensível a whitespace.
- BOM ou caractere estranho antes da primeira chave quebra o parser — trim e tente de novo.
- JSON com vírgula sobrando ou comentários precisa ser corrigido antes de JSON→YAML.
Casos de uso
Configs Kubernetes e CI
Transforme um fragmento Deployment ou ConfigMap em JSON para jq, testes OPA/Gatekeeper ou exemplos OpenAPI. Inverta quando o vendor manda JSON mas o cluster espera YAML.
Mocks de API e docker-compose
Cole JSON de resposta curl e obtenha YAML para docker-compose, rascunho de Helm values ou stack local. Compare espaçamento com o guia do time antes do commit.
Docs e code review
Mostre o mesmo fixture nos dois formatos ao revisar README ou traduzir entre JSON Schema e pipelines YAML-first.
Fixtures de teste
Converta golden files entre JSON e YAML para Jest, pytest ou Go testdata compartilharem o mesmo objeto sem reindentar na mão.
Perguntas frequentes
- Como converter YAML em JSON online?
- Cole YAML na entrada e clique Converter (ou use auto-detect). JSON indentado aparece na saída — copie quando os valores estiverem certos. Se o paste começa com { ou [, a ferramenta trata como JSON e emite YAML.
- YAML é superset de JSON?
- Todo documento JSON é YAML válido, mas YAML acrescenta comentários, âncoras e strings sem aspas. Esta ferramenta foca estruturas comuns aos dois — tags YAML exóticas podem não fazer round-trip.
- Por que meu YAML falha ao converter?
- Causas comuns: indentação inconsistente (YAML é sensível a espaços), tabs em vez de espaços ou caractere estranho antes da primeira chave. Corrija indentação ou cole um snippet menor para achar a linha do erro.
- Como booleanos e null são tratados?
- YAML true/false/null viram JSON true/false/null. "yes"/"no" entre aspas permanecem string no JSON. yes/no sem aspas em YAML podem parsear como boolean em alguns engines — use aspas se precisar de string.
- Posso converter vários documentos YAML de uma vez?
- Não — um documento por execução. Separe em linhas --- e converta cada bloco; mescle no editor se precisar.
- Comentários YAML sobrevivem na conversão para JSON?
- Não. JSON não tem comentários; comentários são descartados em YAML→JSON. Mantenha o YAML fonte no controle de versão se comentários importarem.
- Por que números parecem diferentes depois da conversão?
- YAML pode parsear strings longas de dígitos como inteiros enquanto consumidores JSON esperam string para IDs. Se o schema exige ID string, coloque aspas no YAML antes de converter.