Convertidor de YAML a JSON
Pega YAML (manifiestos de Kubernetes, Docker Compose, configuraciones de CI) y obtén JSON limpio al instante. Los errores muestran la línea exacta con un indicador.
Funciona en tu navegadorSin registroNo se sube nada
Cómo usar: YAML a JSON
- Pega YAML en el cuadro izquierdo o abre un archivo
.yaml/.yml. - El JSON aparece a la derecha mientras escribes. Elige 2 espacios, 4 espacios o tabulaciones para la salida.
- Marca Ordenar claves para ordenar las claves alfabéticamente. Ayuda al comparar configuraciones.
- Si el YAML no es válido, la barra de estado muestra la línea y la columna, y las líneas problemáticas aparecen debajo con un marcador
^. - Copia o descarga el JSON, o pulsa Intercambiar para volver a convertirlo a YAML.
Cómo se traduce YAML a JSON
JSON es un subconjunto de YAML 1.2, así que cada mapping de YAML se convierte en un objeto JSON, cada secuencia en un array y los escalares en cadenas, números, booleanos o null. Las funciones exclusivas de YAML se resuelven durante la conversión:
- Comentarios (
# …): se eliminan, porque JSON no tiene comentarios. - Anclas y alias (
&base,*base,<<: *base): se expanden en copias completas. - Timestamps como
2024-01-02: se convierten en cadenas ISO 8601. - Cadenas multilínea (bloques literales
|y plegados>): se convierten en cadenas normales con escapes\n.
YAML con varios documentos
Un solo archivo puede contener varios documentos YAML separados por ---, algo habitual en los manifiestos de Kubernetes. JSON no tiene equivalente, así que el conversor devuelve un array JSON con un elemento por documento y lo indica en la barra de estado. Un --- suelto al final se ignora.
Trampas de YAML 1.1 frente a 1.2
Este convertidor sigue YAML 1.2, la especificación actual. Muchas herramientas antiguas (PyYAML, Psych de Ruby, algunas versiones de Kubernetes y Ansible) aún leen YAML 1.1, donde las reglas son distintas:
- El problema de Noruega: en YAML 1.1,
country: nosignificafalse, así que el código de país de Noruega,NO, desaparece. Lo mismo ocurre conyes,on,off,yyn. YAML 1.2 solo tratatrueyfalsecomo booleanos. - Números octales:
0755es octal en 1.1, pero un decimal normal en 1.2, que usa0o755. Cita los permisos de archivo para ir sobre seguro. - Números sexagesimales: en 1.1,
22:30puede interpretarse como el número 1350. Cita las horas y los mapeos de puertos como"8080:80".
La conversión JSON → YAML cita automáticamente las cadenas ambiguas ('no', 'on', 'y'), así que el YAML generado se lee igual en ambas versiones.
Preguntas frecuentes
¿Se sube mi YAML a algún sitio?
¿Por qué mi YAML falla con «bad indentation»?
-) tengan una indentación coherente bajo su clave padre.¿Qué pasa con los comentarios de YAML?
¿Por qué <code>no</code> se quedó como cadena?
true/false son booleanos. Los parsers antiguos de YAML 1.1 convertirían no, yes, on y off en booleanos (el «problema de Noruega»).¿Puedo convertir un manifiesto de Kubernetes con varios recursos?
--- se convierte en un elemento del array JSON de salida, listo para jq o kubectl apply -f -, que también acepta listas JSON.