SS Toolbox
SS Toolbox
Todos los datos se procesan localmente

YAML a JSON y JSON a YAML — conversor que no conserva comentarios

Convierte configuraciones YAML de Kubernetes, docker-compose o GitHub Actions a JSON y viceversa en tu navegador. Es una reserialización, no una ida y vuelta sin pérdidas: se pierden comentarios, anclas y documentos múltiples, y los valores sin comillas siguen las reglas de tipado de YAML.

Qué hace este conversor y qué pierde

  1. Dos direcciones, un botón para cada una

    YAML → JSON y JSON → YAML son acciones distintas. El resultado sobrescribe el otro editor y nunca se fusiona con el texto existente.

  2. Los comentarios siempre se pierden

    Los comentarios YAML se descartan al analizar y el YAML generado nunca incluye comentarios. JSON no tiene sintaxis de comentarios.

  3. Las anclas se expanden, los documentos múltiples fallan

    Los pares &anchor / *alias se resuelven en objetos duplicados. Un archivo con varios documentos --- se rechaza en lugar de fusionarse.

  4. Los valores siguen el tipado de YAML 1.2

    1.0 sin comillas se convierte en 1, 2024-01-01 en una marca de tiempo ISO y .inf / .nan en null. Usa comillas para conservar un valor como texto.

  5. Se ejecuta localmente, con selección de archivo y descarga

    Los archivos se leen en el navegador y no se sube nada. No hay un límite estricto de tamaño, pero un archivo muy grande bloquea la pestaña durante la conversión.

Preguntas frecuentes sobre YAML ↔ JSON

¿La conversión es bidireccional?

Sí: un botón para YAML → JSON y otro para JSON → YAML. Pero cada dirección vuelve a serializar los datos, así que no se conservan comentarios, formato ni anclas. El YAML generado usa sangría de 2 espacios y pliega cadenas largas a 80 columnas; no hay opciones de sangría ni de orden.

¿Se pueden conservar los comentarios?

No. El analizador YAML descarta los comentarios y el YAML generado nunca los añade; JSON no tiene sintaxis de comentarios. Conserva el archivo comentado como fuente de verdad y trata la salida como datos derivados.

¿Se admiten anclas, alias y varios documentos?

Las anclas y alias se resuelven y se escriben como valores duplicados. Los documentos múltiples (varios bloques ---) se rechazan con «expected a single document in the stream»; sepáralos antes. Esto afecta a los manifiestos de Kubernetes que agrupan varios recursos en un archivo.

¿Por qué version: 1.0 se convierte en 1 y yes sigue siendo texto?

Los escalares sin comillas se tipan según las reglas YAML: 1.0 es un número, así que se imprime como 1. js-yaml sigue YAML 1.2, donde yes / no / on / off son texto simple, así que la clave on: de GitHub Actions sigue siendo texto. Usa comillas cuando el tipo deba seguir siendo texto.

¿Cómo se tratan fechas, enteros grandes y null?

Una fecha sin comillas como 2024-01-01 se interpreta como marca de tiempo y en JSON queda como 2024-01-01T00:00:00.000Z. Los enteros por encima de 2^53 pierden precisión y .inf / .nan se convierten en null. ~, null y los valores vacíos también acaban en null.

¿Sirve para archivos de Kubernetes, docker-compose o GitHub Actions?

El YAML estándar de un solo documento funciona, incluidos estos formatos. Separa antes las exportaciones de Kubernetes con varios documentos y recuerda que los comentarios se pierden: no uses el resultado como archivo de configuración que vayas a commitear.

¿Qué hay del tamaño de archivo y la privacidad?

Todo ocurre en el navegador y no se sube ningún archivo. No hay límite configurado, pero la conversión es síncrona en el hilo principal, así que archivos de varios MB pueden congelar la página.

Herramientas relacionadas
SponsorMindElixir