UltKit

Converter YAML para JSON

Transforme configurações YAML, especificações OpenAPI e arquivos de CI em JSON que qualquer parser, API ou validador de schema consegue ler. Envie arquivos .yaml ou .yml e baixe o JSON indentado.

Conversor de dados

ou solte arquivos CSV, TSV, TXT … aqui ·

Até 95 MB por arquivo· Até 20 arquivos· Apagados após 30 minutos

Saída

Os arquivos são processados em nossos servidores e apagados após 30 minutos.

Como usar esta ferramenta

  1. 1

    Envie os arquivos YAML

    Adicione arquivos .yaml ou .yml, até 20 de uma vez e 95 MB cada. Mantenha os nomes originais; os arquivos JSON recebem os mesmos nomes com a nova extensão.

  2. 2

    Escolha indentado ou compacto

    Formatação legível vem ativada e indenta o JSON para facilitar a leitura e a revisão de código. Desative em Configurações avançadas para gerar um arquivo de uma linha só, ideal para colar no corpo de uma requisição.

  3. 3

    Converta e use

    Clique em Converter para JSON, baixe o arquivo e passe-o para a API, o validador ou o script que precisava dele.

Por que desenvolvedores convertem YAML para JSON

O YAML é escrito para pessoas: indentação no lugar de chaves, comentários e a maioria das strings sem aspas. Por isso é o formato de manifestos do Kubernetes, workflows do GitHub Actions, arquivos do Docker Compose e especificações OpenAPI que as equipes editam à mão. O JSON é escrito para programas. Toda linguagem tem um parser de JSON na biblioteca padrão, os navegadores o leem nativamente e a maioria das APIs HTTP não aceita outra coisa.

Por isso a conversão acontece na fronteira. Um engenheiro de plataforma passa um manifesto pelo jq, que só lê JSON. Um desenvolvedor back-end envia uma especificação OpenAPI para um gerador de código que exige JSON. Um tester carrega dados de teste escritos em YAML em uma suíte de testes JavaScript. Em todos os casos o YAML continua sendo a fonte de verdade e o JSON é um artefato de build. Para um diretório inteiro de feeds ou exportações, em vez de configurações, o XML para JSON trata o formato de marcação mais antigo da mesma forma.

Como YAML e JSON evoluíram juntos

YAML proposto pela primeira vez por Clark Evans
2001
O YAML 1.2 tornou o JSON um subconjunto do YAML
2009
RFC 8259, o padrão atual do JSON
2017
Revisão YAML 1.2.2 publicada
2021

O que acontece no JSON com os recursos exclusivos do YAML

Uma âncora (&defaults) e seus aliases (*defaults) permitem reutilizar um bloco no YAML. O JSON não tem referências, então cada alias é substituído por uma cópia completa do bloco ancorado.

  • O JSON pode ficar bem mais longo que o YAML
  • As chaves de mesclagem (<<: *defaults) são expandidas da mesma forma
Uma pequena configuração YAML como JSON formatado
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Informações sobre os formatos YAML e JSON

YAML

YAML

YAML ("YAML Ain't Markup Language") é um formato de dados fácil de ler, lançado em 2001. Ele usa indentação em vez de chaves e colchetes, aceita comentários e é um superconjunto do JSON. É muito usado para configuração no Docker Compose, Kubernetes, GitHub Actions e em muitos aplicativos. Como depende de espaços em branco, um único espaço fora do lugar pode quebrá-lo, e alguns valores, como "no" ou datas, podem ser interpretados de forma inesperada.

Compressão
–
Transparência
–
Animação
–
Lançamento
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Conversor de YAML

JSON

JavaScript Object Notation (JSON)

JSON é um formato de texto leve para dados estruturados, popularizado por Douglas Crockford no início dos anos 2000 e padronizado como RFC 8259 e ECMA-404. Ele representa objetos, arrays, strings, números, booleanos e null com uma sintaxe simples e legível. É o formato padrão de APIs web, arquivos de configuração e troca de dados entre aplicativos em praticamente todas as linguagens de programação. Não tem comentários, datas nem esquemas embutidos, e arquivos grandes e aninhados são difíceis de ler sem um visualizador.

Compressão
–
Transparência
–
Animação
–
Lançamento
2001 · Douglas Crockford
Conversor de JSON

Converte-se YAML em JSON quando uma configuração ou especificação escrita para pessoas precisa alimentar uma máquina: uma requisição de API, um validador de schema ou uma ferramenta sem parser de YAML.

Perguntas frequentes sobre converter YAML para JSON

Por que converter YAML para JSON se os dois guardam os mesmos dados?

Porque muitas ferramentas só leem um dos dois. Leitores de JSON acompanham todas as linguagens de programação e todos os navegadores, enquanto o YAML exige uma biblioteca extra. Corpos de requisição de APIs REST, validadores de JSON Schema, o jq e arquivos como package.json ou o manifest.json de uma extensão de navegador esperam JSON.

O que acontece com os comentários do meu YAML?

Eles são descartados. A RFC 8259 não define sintaxe de comentário para o JSON, então as linhas que começam com # não têm onde ficar. Mantenha o arquivo YAML como fonte documentada e trate o JSON como uma cópia gerada, que você pode refazer a qualquer momento.

Por que NO ou off virou false?

Parsers que seguem o YAML 1.1 leem yes, no, on e off como booleanos, então um código de país como NO, da Noruega, pode virar false. O YAML 1.2 limita os booleanos a true e false, mas nem toda ferramenta o segue. Coloque esses valores entre aspas no YAML, como "NO", e eles continuam sendo strings no JSON.

Posso converter um template do CloudFormation escrito em YAML?

O AWS CloudFormation aceita os dois formatos, mas as tags curtas como !Ref e !GetAtt existem só no YAML. Os templates JSON as escrevem como funções completas, {"Ref": "MyBucket"} ou {"Fn::GetAtt": [...]}. Reescreva as tags curtas na forma longa antes de converter para que o template JSON continue válido.

Como faço a conversão inversa?

Use JSON para YAML. É o sentido mais comum quando a resposta de uma API ou um arquivo gerado precisa virar um arquivo de configuração legível em um repositório.