Paritian

Programação

Conversor de YAML para JSON

Converta YAML do Docker Compose, Kubernetes, GitHub Actions ou de qualquer ficheiro de configuração em JSON, com mensagens de erro claras que indicam a linha.

Resultados

JSON { "services": { "web": { "image": "nginx:1.25", "ports": [ "80:80" ], "environment": { "DEBUG": false, "WORKERS": 4 } }, "db": { "image": "postgres:16", "volumes": [ "data:/var/lib/postgresql/data" ] } } }
Valores escritos 10
Profundidade 4

O que faz esta ferramenta

Este conversor lê o YAML pelas regras da versão 1.2, que é a que a maioria das ferramentas actuais segue: só true e false são valores lógicos, por isso yes, no, on e off continuam texto, e a chave on: de um workflow do GitHub não vira true como acontece nos leitores mais antigos. Os números perdem os zeros à esquerda, 0x e 0o passam a decimal, ~ e null passam a null, e os blocos | e > mantêm ou dobram as linhas tal como estão escritas. Cobre o YAML das configurações do dia-a-dia: mapas, listas, [listas] e {mapas} numa linha, os três tipos de aspas, comentários e o marcador ---. Âncoras e aliases (& e *), etiquetas e vários documentos são assinalados em vez de adivinhados; se houver um erro de indentação, a mensagem diz a linha.

Fórmula

indentação → objectos e listas ; true/false, null e números do YAML 1.2 viram valores JSON ; o resto fica texto

Variáveis

SímboloSignificadoUnidade
textYAML—
indentEspaços de indentação—
OUTJSON—
FIValores escritos—
DPProfundidade—

Exemplo resolvido

  • YAMLservices: web: image: nginx:1.25 ports: - "80:80" environment: DEBUG: false WORKERS: 4 db: image: postgres:16 volumes: [data:/var/lib/postgresql/data]
  • Espaços de indentação2
  • JSON{ "services": { "web": { "image": "nginx:1.25", "ports": [ "80:80" ], "environment": { "DEBUG": false, "WORKERS": 4 } }, "db": { "image": "postgres:16", "volumes": [ "data:/var/lib/postgresql/data" ] } } }
  • Valores escritos10
  • Profundidade4

Limitações

  • O cálculo é feito inteiramente no seu navegador. Os valores que introduz nunca são enviados para um servidor.