Mcatorce Suite
← Volver al blog

YAML vs JSON: Diferencias y Cuándo Usar Cada Uno

Una comparación lado a lado de la sintaxis de YAML y JSON, los comentarios, los tipos de datos, la legibilidad y los errores comunes, con orientación para elegir entre ellos.

Prueba la herramienta: Conversor YAML, JSON y TOML

YAML y JSON pueden describir los mismos datos: objetos, listas, cadenas, números, booleanos y nulo. Se ven muy distintos, y cada uno encaja en trabajos diferentes.

Los mismos datos en ambos

JSON:

{
	"name": "api",
	"ports": [80, 443],
	"debug": false
}

YAML:

name: api
ports:
  - 80
  - 443
debug: false

Principales diferencias

  • Sintaxis: JSON usa llaves, corchetes, comillas y comas. YAML usa sangría y guiones.
  • Comentarios: YAML permite # comentarios. JSON no tiene ninguno.
  • Legibilidad: YAML es más fácil de leer y escribir a mano para configuración. JSON es más explícito.
  • Rigidez: JSON es pequeño y estricto, así que los analizadores coinciden. YAML tiene muchas funciones y casos límite.
  • Varios documentos: YAML puede contener varios documentos en un archivo, separados por ---.
  • Anclas y alias: YAML puede reutilizar un bloque con &ancla y *alias.

Dónde se usa cada uno

  • JSON: APIs, almacenamiento del navegador, manifiestos de paquetes, intercambio de datos entre programas.
  • YAML: archivos de configuración, como pipelines de CI, manifiestos de Kubernetes y Docker Compose.

Trampas de YAML

  • La sangría importa. Usa espacios, nunca tabuladores, y sé coherente.
  • Tipado implícito. Valores sin comillas como yes, no, on u off pueden leerse como booleanos en algunas versiones del formato, y 1.10 se convierte en número. Pon comillas cuando necesites cadenas.
  • Caracteres especiales. Los dos puntos seguidos de un espacio o un * inicial necesitan comillas.

Convertir entre ellos

El JSON válido es casi siempre YAML válido, ya que YAML es en gran medida un superconjunto. Convertir de YAML a JSON pierde los comentarios y las anclas, porque JSON no puede representarlos.

Preguntas frecuentes

¿Cuál se analiza más rápido? JSON, porque es más simple.

¿Cuál elijo para un nuevo archivo de configuración? YAML si las personas lo editan a menudo y los comentarios ayudan, JSON si sobre todo lo leen y escriben programas.