Guía
JSON vs YAML: diferencias y cuándo usar cada formato
Compara sintaxis, tipos, comentarios, referencias e interoperabilidad para elegir JSON o YAML según el trabajo.
por Tools in a Tab · Publicado el · Revisado el
Respuesta breve
JSON y YAML serializan datos, pero optimizan tareas distintas. JSON usa una sintaxis pequeña y muy interoperable; YAML prioriza la edición humana y añade más formas de representar estructuras.
| Aspecto | JSON | YAML |
|---|---|---|
| Estructura | Llaves, corchetes y comas | Sangría o estilo de flujo |
| Comentarios | No | Sí, con # |
| Tipos básicos | objeto, array, cadena, número, booleano, null |
mappings, sequences, scalars y tags |
| Referencias | No | Anchors y aliases |
| Uso habitual | APIs e intercambio | Configuración editable |
Cuándo elegir JSON
JSON funciona bien como contrato entre aplicaciones, cuerpo de API, evento o archivo generado por software. Su modelo limitado reduce decisiones sobre estilos, tags y referencias. La RFC 8259 define su gramática y destaca las prácticas que favorecen interoperabilidad.
Elige JSON cuando todos los consumidores deben entender exactamente el mismo subconjunto, los comentarios no forman parte del dato y la edición manual no es la prioridad.
Cuándo elegir YAML
YAML resulta cómodo para configuración mantenida por personas: evita muchas llaves, admite comentarios y ofrece escalares multilínea. Esa expresividad también exige conocer la versión, el esquema de tipos y las funciones que acepta cada parser.
La especificación YAML 1.2.2 describe mappings, sequences, scalars, tags, anchors y estilos de presentación. Un archivo válido para un parser no garantiza que una aplicación acepte todas esas funciones.
¿Se puede convertir siempre?
El subconjunto formado por mappings con claves de texto, arrays y valores JSON se convierte con facilidad. Los comentarios, anchors, aliases, tags, claves complejas y varios documentos YAML no tienen una representación JSON directa.
Usa JSON a YAML cuando partes de JSON válido y YAML a JSON para un documento dentro del subconjunto admitido. Revisa el resultado en vez de asumir que una conversión de sintaxis conserva funciones específicas de YAML.
Decisión rápida
- API pública y datos entre sistemas: JSON suele ser la base más predecible.
- Configuración humana con comentarios: YAML puede ser más legible.
- Necesidad de referencias o tags: confirma primero el parser concreto.
- Datos que viajarán entre ambos: limita YAML al modelo compatible con JSON.