YAML
Conversor de YAML
Convierte entre YAML y JSON en ambos sentidos.
Acerca de YAML y JSON
YAML y JSON describen las mismas estructuras —mapas, listas, cadenas, números, booleanos— con una puntuación distinta. YAML se apoya en la indentación y se escribe a mano; JSON es explícito y es lo que realmente consumen la mayoría de las API y bibliotecas. La conversión es casi mecánica, con la salvedad de que YAML tiene funciones, como los comentarios y las anclas, que JSON sencillamente no puede expresar.
Las reglas de tipo de YAML son más estrechas de lo que parecen. Solo true/false (y variantes como True o TRUE) se analizan como booleanos —yes, no, on y off se quedan como simples cadenas, a diferencia de algunos analizadores YAML más antiguos que también los trataban como booleanos, una discrepancia conocida en línea como el "problema de Noruega" porque el código de país NO podía convertirse silenciosamente en false. Una sorpresa más habitual aquí tiene que ver con la precisión: los números de JSON son de punto flotante IEEE-754 de doble precisión, así que un entero de 64 bits más allá de 2^53 puede perder una cifra o dos en el mismo momento de la conversión, aunque el valor YAML original fuera exacto.
Dónde te lo encontrarás
- Convertir un manifiesto de Kubernetes o un docker-compose a JSON para un script
- Pegar la respuesta de una API en un archivo de configuración que espera YAML
- Comprobar que la definición de una canalización de CI se interpreta como esperas
- Comparar dos formatos de configuración al migrar entre herramientas
Preguntas frecuentes
¿Qué pasa con mis comentarios?
Se pierden. JSON no tiene sintaxis de comentarios, así que al convertir YAML a JSON desaparece para siempre cada línea que empieza por #. Conserva el original en YAML si los comentarios importan.
¿Se admiten anclas y alias?
Sí, y se expanden al valor al que apuntan, porque JSON no puede representar una referencia. Los alias que apuntan a otros alias crecen muy deprisa, así que las conversiones que darían lugar a un documento enorme se rechazan en lugar de intentarse.
¿Se almacenan mis datos?
No. La conversión ocurre en el servidor solo para esa solicitud; después no se registra ni se conserva nada.
¿Por qué cambió ligeramente mi entero grande tras convertirlo a JSON?
JSON representa todos los números como números de punto flotante IEEE-754 de doble precisión —el mismo tipo numérico que usa JavaScript—, que solo puede contener enteros con exactitud hasta 2^53 (9.007.199.254.740.991). Un valor YAML como un ID de base de datos de 64 bits o un ID tipo snowflake al estilo Discord puede superar eso, y convertirlo a un número JSON lo redondea silenciosamente. Si la precisión exacta importa, mantén esos valores entre comillas como cadenas YAML antes de convertir, para que pasen como cadenas JSON en lugar de números.