Conversor YAML ↔ JSON

Convierte YAML en JSON y JSON en YAML, con la línea y la columna de cada error.

El formulario interactivo está listo al activar JavaScript.

Cómo utilizar

Elige YAML → JSON o JSON → YAML y pega el texto: el resultado aparece mientras escribes. Invertir pasa el resultado a la caja y cambia el sentido, así que ir y volver es un clic. Sangría fija 2 o 4 espacios en el resultado.

El YAML se lee con el esquema core de YAML 1.2, la versión actual del lenguaje. Solo true y false son booleanos, null y ~ son nulos y las fechas quedan como texto. Palabras como yes, no, on y off eran booleanos en YAML 1.1 y lo siguen siendo para algunas herramientas antiguas; aquí quedan como texto, y JSON → YAML las escribe entre comillas para que esas herramientas también las lean como texto.

Las anclas y los alias (&nombre y *nombre) y las claves de fusión (<<) se escriben por completo, porque JSON no tiene referencias. Los comentarios se pierden: la especificación de YAML los trata como presentación, no como datos. Un archivo con varios documentos separados por --- se convierte en una lista JSON, con un elemento por documento.

Cuando la entrada no es válida, la herramienta indica la línea y la columna del problema, con la línea a la vista y un acento circunflejo bajo el punto exacto. Todo se ejecuta en tu navegador con la biblioteca de código abierto js-yaml y no se sube nada.

Ejemplo

«production» recibe las claves de «defaults» mediante <<, mantiene su propio retries: 5, y off sigue siendo el texto "off", como dice YAML 1.2.

  • debug: off → {"debug": "off"}En YAML 1.2, off es texto, no false.
  • <<: *defaultsCopia las claves del mapa con ancla; las claves escritas junto a él tienen prioridad.
  • a: 1, luego ---, luego b: 2Dos documentos se convierten en la lista [{"a": 1}, {"b": 2}].
  • {"a": 1,}JSON no válido en la línea 1, columna 8: JSON no admite una coma antes de }.

Preguntas frecuentes

¿Se sube mi archivo?

No. La conversión se hace en tu navegador y no se envía nada, así que los archivos de configuración con nombres o direcciones internas no salen de tu dispositivo.

¿Por qué yes u on no se convirtieron en true?

YAML 1.2 solo considera booleanos true y false. Yes, no, on y off solo son booleanos en el antiguo YAML 1.1, así que aquí quedan como texto. Si necesitas un booleano, escribe true o false.

¿Dónde están mis comentarios?

JSON no tiene comentarios y la especificación de YAML dice que los comentarios no forman parte de los datos. Se pierden al pasar a JSON y no vuelven al convertir de nuevo a YAML.

¿Por qué cambió un número largo?

JavaScript guarda los números de JSON como coma flotante de 64 bits, así que los enteros mayores que 9.007.199.254.740.991 pierden sus últimas cifras. Escribe los identificadores largos entre comillas para que sigan siendo texto.

¿Qué significa «unknown tag»?

El YAML usa una etiqueta propia, como !Ref o !GetAtt de AWS CloudFormation, que solo entiende esa herramienta. Escribe la forma larga (Ref: o Fn::GetAtt:) y vuelve a convertir.

Herramientas relacionadas