Guía de conversión de configuración YAML/JSON: Esencial para DevOps y Desarrollo
JSON
YAML vs JSON: ¿Por qué convertir?
| Escenario | Formato común | Por qué |
|---|---|---|
| Docker Compose | YAML | Legible por humanos, soporta comentarios |
| Kubernetes | YAML | Recomendación oficial |
| GitHub Actions | YAML | Definiciones de flujos de trabajo |
| Petición/respuesta API | JSON | Análisis automático |
| package.json | JSON | Estándar de Node.js |
| tsconfig.json | JSON | Estándar de TypeScript |
| Cargo.toml | TOML | Estándar de Rust |
Los desarrolladores a menudo necesitan convertir entre YAML (archivos de configuración) y JSON (APIs/programas).
Conversión con ToolsKu
YAML ↔ JSON
- Abra YAML ↔ JSON
- Pegue YAML o JSON
- Auto-convertir y formatear
- Copie el resultado
TOML ↔ JSON
- Abra TOML ↔ JSON
- Pegue TOML o JSON
- Auto-convertir
Diferencias de sintaxis
Características de YAML (no en JSON)
# Comentarios — no soportados en JSON
name: toolsku
version: 1.0
port: 3000 # Los números no necesitan comillas
tags: # Arrays
- pdf
- image
database:
host: localhost # Objetos anidados
port: 5432
enabled: true # Booleanos
empty: null # Nulo
multiline: | # Cadenas multilínea
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"
}
Problemas comunes
1. Coerción de tipos implícita en YAML
# ⚠️ Peligro: YAML 1.1 puede interpretar estos como booleano/nulo
country: NO # → false (¡código de país de Noruega mal interpretado!)
version: 1.0 # → 1.0 (float)
date: 2024-01-01 # → puede interpretarse como fecha
Solución: Comille valores que puedan malinterpretarse: "NO", "1.0".
2. La indentación debe usar espacios
# ❌ Mezclar tabulaciones y espacios
name: test
tags: [a, b] # Tab indent → error de análisis
# ✅ Indentación consistente de 2 espacios
name: test
tags: [a, b]
3. JSON no soporta comentarios
// ❌ Los comentarios no son válidos en JSON
{ "name": "test" /* comment */ }
Use YAML cuando necesite comentarios, o el Formateador JSON con modo JSON5.
Escenarios del mundo real
Docker Compose → JSON (para consumo de programas)
# docker-compose.yml
services:
web:
image: nginx:latest
ports: ["8080:80"]
→ Convertir a JSON para que una aplicación Node.js analice la configuración
Depuración de YAML de Kubernetes
# Convertir YAML de K8s a JSON, luego consultar con jq
kubectl get pod my-pod -o json | jq '.status.phase'
También puede extraer campos directamente con la herramienta JSONPath.
Validación de configuración CI/CD
Después de convertir YAML a JSON, use el Formateador JSON para validar la sintaxis.
Resumen
La conversión YAML/JSON/TOML es una tarea diaria de DevOps y desarrollo full-stack. ToolsKu proporciona herramientas YAML↔JSON, TOML↔JSON y Formateador JSON — todas locales en el navegador, conversión instantánea, gratuitas.
#YAML#JSON#TOML#配置文件#DevOps