Conversor de JSON a YAML
Convierte JSON a YAML y YAML a JSON mientras escribes: edita cualquiera de los dos lados y el otro se actualiza.
Fija aquí tus herramientas. Se guardan en este navegador.
Fija una herramienta y su pegatina aparece aquí.
Convierte JSON a YAML y YAML a JSON mientras escribes: edita cualquiera de los dos lados y el otro se actualiza.
JSON y YAML describen el mismo tipo de datos: mapas, listas, cadenas, números, booleanos y null. YAML 1.2 se diseñó para que JSON fuera un subconjunto suyo, y añade lo que necesita un archivo editado a mano: comentarios, sangría en lugar de llaves y corchetes, cadenas de varias líneas, varios documentos en un mismo archivo, y anclas con alias para reutilizar un valor.
Al pasar de JSON a YAML se conservan todos los valores, con una excepción: una clave que aparece dos veces en el mismo objeto solo conserva su último valor, porque un mapa YAML no puede repetir una clave. Al pasar de YAML a JSON solo se conservan los datos: los comentarios desaparecen, los alias y las claves de fusión << se sustituyen por los valores a los que apuntan, las etiquetas personalizadas como !Ref se eliminan pero sus valores se mantienen, y las claves que no son cadenas, como 1 o true, pasan a ser su texto.
El problema de Noruega. En YAML 1.1, las palabras sin comillas yes, no, on y off son booleanos, así que una lista de códigos de país que contiene no acaba con un false dentro. YAML 1.2 solo mantiene true y false. El parser de esta herramienta sigue YAML 1.2, salvo que el documento empiece con una directiva %YAML 1.1, así que lee no como la cadena «no». Muchos parsers que todavía se usan aplican las reglas de la 1.1, por lo que cuando esta herramienta escribe YAML pone esas cadenas entre comillas.
Números de versión. Un 1.10 sin comillas es un número de coma flotante, y como número vale 1.1. Los números de versión, los códigos postales y cualquier otra cosa que solo parezca un número deben ir entre comillas para seguir siendo texto: version: "1.10".
El lado que editaste por última vez es el origen, y el otro se reescribe a partir de él. Si el origen no se puede analizar, el error aparece debajo y el otro lado mantiene la última conversión válida. Las opciones de sangría se aplican al lado generado; cambiar la sangría del JSON también vuelve a sangrar el JSON que escribiste, mientras que el YAML que escribiste nunca se reescribe, porque eso eliminaría sus comentarios.
Las claves mantienen el orden del origen, incluidas las claves formadas por dígitos, que un objeto de JavaScript movería al principio. Los enteros mayores que 2 elevado a 53 se copian dígito a dígito en ambos sentidos. Un archivo YAML con varios documentos separados por --- se convierte en un array JSON, y la página lo indica. Una clave que se usa dos veces en un mismo mapa YAML se señala como error. El YAML se lee y se escribe con el paquete de código abierto yaml, que se ejecuta en tu navegador.
YAML 1.2 se diseñó para que JSON fuera un subconjunto suyo, y un parser de YAML 1.2 lee un documento JSON. Una rara excepción es un objeto que repite una clave, algo que YAML no acepta. Puedes comprobarlo aquí pegando JSON en el lado YAML.
JSON no tiene ni lo uno ni lo otro. Los comentarios se descartan y cada alias se sustituye por una copia del valor que contiene su ancla. Si vuelves a convertir ese JSON, obtienes un YAML con los mismos datos, pero sin los comentarios ni las anclas.
Sin comillas, YAML lee 1.10 como un número de coma flotante, y ese número es 1.1. Escríbelo como "1.10" para mantenerlo como texto. Lo mismo vale para valores como 010 o 1e3.
No. Las dos conversiones se ejecutan con JavaScript en la pestaña de tu navegador, y la herramienta no hace ninguna petición de red con lo que escribes.
Se abre en su propia ventana y sigue funcionando sin conexión.
Para instalarla, toca el botón Compartir y luego «Añadir a pantalla de inicio».