YAML vs JSON: cuál elegir y por qué

YAML vs JSON

YAML vs JSON: diferencias, trampas y .yaml vs .yml | We.Inc

YAML vs JSON lado a lado: sintaxis, comentarios, tipos, texto multilínea y la trampa del yes/no. Prueba cómo se lee un valor sin comillas y decide de una vez entre .yaml y .yml.

JSON es un formato de datos estricto pensado para programas: llaves, corchetes, cadenas entre comillas dobles y sin comentarios. YAML expresa los mismos datos con indentación, admite comentarios y texto multilínea, y la versión 1.2 se diseñó como superconjunto de JSON. Elige JSON para APIs y salida de máquinas, y YAML para archivos que la gente edita a mano.

YAML y JSON comparados característica por característica

Los dos formatos describen lo mismo: mapas, listas, cadenas, números, booleanos y null. Las diferencias reales son quién lee el archivo y lo permisivo que es el parser. Prueba el comprobador de valores de abajo para ver qué tipo recibe un valor sin comillas, y luego lee los ejemplos lado a lado y las trampas que pillan a quien pasa de uno a otro.

Preguntas frecuentes

¿Todo archivo JSON es YAML válido?

YAML 1.2 se escribió para ser un superconjunto estricto de JSON, así que en la práctica un documento JSON se carga en un parser de YAML 1.2. Hay casos límite, como las claves duplicadas, que los parsers de JSON suelen tolerar pero YAML prohíbe.

¿Uso .yaml o .yml?

Usa .yaml. El RFC 9512, que registra el media type application/yaml, considera .yaml la extensión preferida y señala que .yml se sigue usando. Ambas funcionan en herramientas como GitHub Actions, así que la elección es cuestión de coherencia dentro de un proyecto.

¿Por qué mi valor YAML se convirtió en true o false?

YAML 1.1 trataba palabras como yes, no, on, off, y y n como booleanos. El core schema de YAML 1.2 solo acepta true y false en tres variantes de mayúsculas, pero los parsers antiguos siguen siendo habituales. Poner el valor entre comillas elimina la duda.

¿JSON puede tener comentarios?

No. El RFC 8259 enumera los tokens que puede contener JSON y los comentarios no están entre ellos. Algunas herramientas aceptan un JSON relajado con comentarios, pero un parser estricto rechazará el archivo.

¿Cuál se parsea más rápido?

La gramática de JSON es mucho más pequeña, y los navegadores incluyen un parser nativo para ella, así que suele ser la opción más rápida y segura para datos enviados por la red. Los parsers de YAML tienen que aplicar muchas más reglas, desde la indentación hasta el tipado implícito.

Cuándo es mejor JSON

Cuándo es mejor YAML

Un registro, escrito de las dos formas

Los mismos ajustes de un sitio en los dos formatos. YAML elimina las comillas y las llaves y añade un comentario; JSON escribe explícitamente cada cadena y cada nivel de anidación.

Indentación de dos espacios, un comentario, una lista y una versión entre comillas para que siga siendo texto.

No es posible poner comentarios, y cada clave y cada cadena llevan comillas dobles.

Valores que cambian de tipo si olvidas las comillas

Qué tipo recibe un valor YAML sin comillas, y la versión segura

¿Cómo se leerá este valor sin comillas?

Escribe un valor tal como aparecería tras los dos puntos en un archivo YAML, sin comillas. El comprobador aplica las reglas del core schema de YAML 1.2, la lista de booleanos de YAML 1.1 y la gramática de JSON.

Valor sin comillas

Core schema de YAML 1.2

Parsers de YAML 1.1

JSON, escrito tal cual

El mismo valor en JSON

booleano {v} (YAML 1.1 lee esta palabra como booleano)

Este valor no cae en la trampa de booleanos tipo yes/no

Valor JSON válido

No es JSON válido salvo entre comillas

JSON no tiene forma de escribir este número

Prueba uno

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio