Conversor YAML a JSON
Convierte YAML a JSON o JSON a YAML, en vivo mientras escribes. Funciona por completo en tu navegador, nada de lo que pegues se sube.
Archivos de configuración, portátiles
YAML es común en Docker Compose, Kubernetes y configuraciones de CI.
YAML es más fácil de leer y editar para las personas, pero JSON es lo que la mayoría de las APIs y lenguajes de programación esperan. Esta herramienta convierte entre ambos por completo en tu navegador, en ambas direcciones.
Qué se soporta
Mapeos y secuencias en bloque y en línea, escalares entre comillas y planos, números, booleanos, null, y comentarios. Anclas/alias, archivos multi-documento, y escalares de bloque multilínea (| / >) no están soportados.
Cómo funciona
YAML a JSON ejecuta un pequeño analizador de descenso recursivo escrito para esta página. Primero elimina los comentarios (con cuidado, para que un # dentro de una cadena entre comillas sobreviva), registra la indentación de cada línea, luego construye la estructura tal como YAML la define: la indentación abre mapas anidados, las líneas que empiezan con - construyen secuencias, y todo lo demás es un escalar. Los escalares se tipan con las mismas reglas que usan los analizadores YAML reales: true/false se convierten en booleanos, ~ y null se convierten en null, los números sin comillas se convierten en números, las cadenas entre comillas siguen siendo cadenas, y la sintaxis de flujo en línea [a, b] o {k: v} también se maneja. El resultado se serializa con JSON.stringify en la sangría que elijas. JSON a YAML es lo inverso: JSON.parse valida la entrada, luego un emisor recorre el valor y escribe YAML indentado, entrecomillando cualquier cadena que de otro modo se leería mal como número, booleano, o null.
Una decisión deliberada que vale la pena conocer: este analizador solo trata los literales true y false como booleanos. Los analizadores YAML 1.1 más antiguos también convierten yes, no, on, y off, que es como el código de país de Noruega NO se convierte famosamente en false en archivos de configuración (el "problema de Noruega"). Aquí se mantiene como la cadena que parece ser.
Es un analizador de subconjunto, mantenido pequeño a propósito: las anclas y alias (&/*), los archivos multi-documento, y los escalares de bloque (| y >) no están soportados, así que un manifiesto de Kubernetes complejo que use esas características no hará un round-trip correcto. Para la conversión de configuración cotidiana, cubre lo que realmente pegas.
La conversión ocurre por completo en tu pestaña con cada pulsación de tecla. No se llama a ningún servicio de análisis: el panel Red de las DevTools permanece en silencio mientras escribes, así que los archivos de configuración llenos de nombres de host y secretos nunca salen de tu máquina.