Conversor YAML ⇄ JSON

YAML a JSON y viceversa, validación con número de línea y avisos de YAML 1.1.

Convert

Valid · 1 documents

  • Line 8: NO is a string in YAML 1.2, but a boolean in YAML 1.1 parsers (PyYAML, older Ruby). Quote it to be safe.
  • Line 9: 0644 has a leading zero. YAML 1.2 reads it as a decimal number, YAML 1.1 as octal. Write 0o… or quote it.

Qué hace

Convierte YAML a JSON, JSON a YAML y formatea YAML con un estilo coherente. Cada conversión valida el archivo: los errores indican línea y columna. El analizador es propio y se ejecuta en tu navegador, así que los archivos de configuración no salen de tu equipo.

Qué YAML entiende

El subconjunto habitual de YAML 1.2: mapas y listas anidados, colecciones en línea [a, b] y {a: 1}, cadenas simples, con comillas simples o dobles, bloques | y > con indicadores - y +, anclas, alias, la clave de fusión <<, etiquetas estándar y varios documentos separados por --- (que se convierten en un array JSON). Las claves complejas, las etiquetas personalizadas como !Ref y %TAG se señalan como error. Los comentarios se descartan.

Trampas de YAML 1.1

Muchos programas aún leen YAML con reglas 1.1. NO, yes, on y off son cadenas en YAML 1.2 pero booleanos en 1.1 (el "problema de Noruega"); 0755 es 755 en 1.2 y octal 493 en 1.1. La herramienta avisa con el número de línea y, al pasar de JSON a YAML, pone esas cadenas entre comillas. Se conserva el orden de las claves y los números largos no se redondean.

Preguntas frecuentes

¿Por qué el código de país NO se convierte en false?

En YAML 1.1, NO es un booleano. YAML 1.2 lo trata como cadena, y esta herramienta usa 1.2 pero te avisa. Escribe 'NO' entre comillas para que todos los analizadores coincidan.

¿Por qué un tabulador es un error?

La especificación de YAML prohíbe los tabuladores para sangrar. Usa espacios.

¿Qué pasa con los comentarios?

Se descartan, porque JSON no tiene comentarios y el YAML formateado se reconstruye a partir de los datos.