Guia de conversão de configuração YAML/JSON: Essencial para DevOps e Desenvolvimento
JSON
YAML vs JSON: Por que converter?
| Cenário | Formato comum | Por que |
|---|---|---|
| Docker Compose | YAML | Legível por humanos, suporta comentários |
| Kubernetes | YAML | Recomendação oficial |
| GitHub Actions | YAML | Definições de workflows |
| Requisição/resposta API | JSON | Análise por máquina |
| package.json | JSON | Padrão do Node.js |
| tsconfig.json | JSON | Padrão do TypeScript |
| Cargo.toml | TOML | Padrão do Rust |
Desenvolvedores frequentemente precisam converter entre YAML (arquivos de configuração) e JSON (APIs/programas).
Conversão com ToolsKu
YAML ↔ JSON
- Abra YAML ↔ JSON
- Cole YAML ou JSON
- Auto-converter e formatar
- Copie o resultado
TOML ↔ JSON
- Abra TOML ↔ JSON
- Cole TOML ou JSON
- Auto-converter
Diferenças de sintaxe
Recursos do YAML (não presentes no JSON)
# Comentários — não suportados em JSON
name: toolsku
version: 1.0
port: 3000 # Números não precisam de aspas
tags: # Arrays
- pdf
- image
database:
host: localhost # Objetos aninhados
port: 5432
enabled: true # Booleanos
empty: null # Nulo
multiline: | # Strings multilinha
Line one
Line two
JSON equivalente:
{
"name": "toolsku",
"version": "1.0",
"port": 3000,
"tags": ["pdf", "image"],
"database": { "host": "localhost", "port": 5432 },
"enabled": true,
"empty": null,
"multiline": "Line one\nLine two"
}
Armadilhas comuns
1. Coerção de tipos implícita no YAML
# ⚠️ Perigo: YAML 1.1 pode interpretar estes como booleano/nulo
country: NO # → false (código de país da Noruega interpretado incorretamente!)
version: 1.0 # → 1.0 (float)
date: 2024-01-01 # → pode ser interpretado como data
Correção: Coloque entre aspas valores que possam ser mal interpretados: "NO", "1.0".
2. Indentação deve usar espaços
# ❌ Misturando tabs e espaços
name: test
tags: [a, b] # Tab indent → erro de análise
# ✅ Indentação consistente de 2 espaços
name: test
tags: [a, b]
3. JSON não suporta comentários
// ❌ Comentários são inválidos em JSON
{ "name": "test" /* comment */ }
Use YAML quando precisar de comentários, ou o Formatador JSON com modo JSON5.
Cenários do mundo real
Docker Compose → JSON (para consumo por programas)
# docker-compose.yml
services:
web:
image: nginx:latest
ports: ["8080:80"]
→ Converter para JSON para um app Node.js analisar a configuração
Depuração de YAML do Kubernetes
# Converter YAML do K8s para JSON, depois consultar com jq
kubectl get pod my-pod -o json | jq '.status.phase'
Você também pode extrair campos diretamente com a ferramenta JSONPath.
Validação de configuração CI/CD
Após converter YAML para JSON, use o Formatador JSON para validar a sintaxe.
Resumo
A conversão YAML/JSON/TOML é uma tarefa diária de DevOps e desenvolvimento full-stack. O ToolsKu fornece ferramentas YAML↔JSON, TOML↔JSON e Formatador JSON — todas locais no navegador, conversão instantânea, gratuitas.
#YAML#JSON#TOML#配置文件#DevOps