Converter YAML para JSON
Cole YAML e receba JSON de volta, com âncoras e chaves de merge resolvidas e a linha exata de qualquer erro de sintaxe.
Funciona inteiramente no seu navegador
- Entrada
- 0
- Saída
- 0
- Variação
- 0%
Entrada de até cerca de 10 MB. Lê YAML 1.2 só com os tipos padrão; tags personalizadas como !!python/object são recusadas, não executadas.
Como converter YAML para JSON
- Cole seu YAML na caixa ou clique em Inserir exemplo.
- Escolha 2 espaços, 4 espaços, tabulação ou Minificar para o formato do JSON.
- Se o YAML tiver um erro de sintaxe, você vê a linha e a coluna. Caso contrário, copie o JSON ou baixe como arquivo
.json.
De YAML para JSON
YAML e JSON descrevem o mesmo tipo de dado: mapeamentos, listas e valores simples. O YAML é escrito por pessoas, com indentação em vez de chaves, comentários e atalhos como âncoras; o JSON é o que a maioria dos programas e APIs espera. Converter YAML para JSON é comum quando um manifesto do Kubernetes, um arquivo do Compose ou uma descrição OpenAPI precisa ser passado para algo que só lê JSON.
Alguns recursos do YAML não têm equivalente em JSON, então o conversor os resolve. Uma âncora (&base) marca um bloco que um alias (*base) pode reutilizar, e uma chave de merge (<<) copia as entradas de um mapeamento para outro; no JSON, cada um deles vira uma cópia completa. Os comentários são descartados, porque o JSON não os aceita. Um arquivo com vários documentos separados por --- vira um array JSON.
As regras de tipo seguem o YAML 1.2: true e false são booleanos, null e ~ são nulos, números são números, e todo o resto, inclusive yes e 2024-05-01, é texto. Os erros de sintaxe trazem linha e coluna, e as causas mais frequentes são uma tabulação usada na indentação, uma chave repetida no mesmo mapeamento e um valor que não está indentado sob a sua chave.
Dicas
- Precisa fazer o caminho inverso? Converter JSON para YAML coloca entre aspas valores como “yes” para que eles cheguem intactos.
- Confira ou organize o resultado com Formatar e validar JSON.
- Tem dados em tabela? CSV para JSON cuida de planilhas.
Perguntas frequentes
Meu YAML é enviado para algum lugar?
Não. O parser de YAML é carregado deste site na primeira vez que você cola algo e roda no seu navegador. Configurações com senhas ou chaves não são enviadas para lugar nenhum.
Por que yes continua sendo o texto “yes”?
Esta ferramenta segue o YAML 1.2, em que só true e false são booleanos. As palavras yes, no, on e off continuam strings, o que evita o chamado problema da Noruega, em que o código do país NO vira false em parsers YAML 1.1. Se quem vai ler o arquivo for um parser YAML 1.1, ele pode interpretar essas palavras de outro jeito.
O que acontece com datas e timestamps?
Um valor como 2024-05-01 é mantido como a string “2024-05-01”. O JSON não tem tipo de data, e convertê-lo num número ou noutro formato perderia informação.
E os números inteiros muito grandes?
Inteiros acima de 9.007.199.254.740.991 (253 - 1) são escritos dígito por dígito em vez de arredondados, então um ID como 12345678901234567890 sobrevive. Saiba que um programa que depois ler o JSON com números comuns do JavaScript vai arredondá-lo.
Âncoras, aliases e chaves de merge são suportados?
Sim. Âncoras &name e aliases *name são expandidos, e <<: *name mescla um mapeamento em outro. Como o JSON não tem referências, cada alias é escrito por inteiro.
Que limite de aliases e de 20 MB é esse?
Um arquivo YAML pequeno pode usar aliases que se expandem em algo enorme, a chamada bomba de aliases. Arquivos com mais de 10.000 aliases são recusados, e a conversão para se o JSON passar de 20 MB, para a sua aba não travar.