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

  1. Abra YAML ↔ JSON
  2. Pegue YAML o JSON
  3. Auto-convertir y formatear
  4. Copie el resultado

TOML ↔ JSON

  1. Abra TOML ↔ JSON
  2. Pegue TOML o JSON
  3. 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