El código de esta página no ha arrancado.

Abrir index.html directamente desde una carpeta bloquea los módulos de JavaScript, así que no pasará nada al elegir un archivo. En vez de eso, sirve la carpeta por http:

powershell -ExecutionPolicy Bypass -File serve.ps1

Abre después http://localhost:8080/.

YAML a JSON — y de JSON de vuelta a YAML

Los dos sentidos, y te dice lo que cuesta cada uno. Nada de esto se pega en el servidor de otro.

Idioma: Español
Ver el código
Tus archivos YAML y JSON se procesan en tu navegador. No se suben para procesarlos.

Convertir es aritmética sobre una cadena de texto, hecha aquí, en esta página. Los dos analizadores están escritos a mano y viven en src/ — shared/parse-yaml.js y shared/parse-json.js — y no hay nada más. Esta herramienta no tiene función de red de ninguna clase — nada que descargar, nada que enviar — y aquí eso importa más que casi en ningún otro sitio de esta web: un archivo YAML suele ser una configuración de despliegue, y una configuración de despliegue suele estar llena de nombres de host, nombres de bucket y secretos.

Comprobación en directo: comprobando…

Sin conexión: comprobando…

No hace falta que nos creas: abre las DevTools, mira la pestaña de red y convierte algo. Ni una sola petición lleva un carácter de lo que pegaste. O desconéctate de internet y conviértelo igualmente.

1 Elige el sentido

Indentación El tabulador se ofrece solo para JSON. YAML está definido en términos de espacios y un tabulador no es indentación válida en él.

Ordenar las claves de cada objeto Por cómo se leen las claves y no por sus puntos de código, así que item2 va antes que item10.

2 Pégalo

vacío

3 Llévate el resultado

Todavía nada.

 

Ver como Markdown

Cómo convertir YAML a JSON sin subirlo

  1. Elige el sentido. YAML a JSON o JSON a YAML. La nota bajo el menú dice lo que pierde ese sentido antes de que pegues nada, y no después.
  2. Pégalo, o suelta el archivo. Vale cualquier cosa que puedas seleccionar y copiar. Un archivo soltado sobre el selector lo lee tu propio navegador y lo pone en la caja — no hay paso de subida que omitir — y una extensión .json o .yaml te elige el sentido.
  3. Elige la indentación. Dos espacios, cuatro, o un tabulador. El tabulador se ofrece solo para JSON: YAML está definido en términos de espacios, y un tabulador no es indentación válida en él.
  4. Lee el error donde está el error. Un analizador que falla aquí dice qué encontró y en qué línea y columna, en lugar de «token inesperado en la posición 4193». Eso suele bastar para arreglar un archivo de configuración sin abrir nada más.
  5. Llévate el resultado. Cópialo, o descárgalo como archivo, con el nombre del formato en el que salió.

La versión larga

Cómo convertir entre YAML y JSON Convierte un subconjunto de YAML a JSON o JSON a YAML en el navegador. Comprueba pérdida de comentarios, construcciones rechazadas y texto numérico antes de usarlo.

Preguntas

¿Se sube mi YAML a alguna parte?

No. Los dos analizadores y los dos impresores de esta página son funciones que corren en tu propio navegador, en tu propio hardware. Esta herramienta no tiene función de red de ninguna clase — nunca descarga nada y nunca envía nada — y la Content-Security-Policy de la página nombra todas las direcciones que puede contactar, ninguna de las cuales es nuestra. Esa es la razón para usarlo con una configuración de despliegue: están llenas de nombres de host, nombres de bucket y de vez en cuando algún secreto que alguien pensaba mover, y pegar una en el conversor de otro es entregársela.

¿Qué se pierde al convertir YAML a JSON?

JSON elimina los comentarios. Este analizador admite deliberadamente un subconjunto de YAML 1.2 y rechaza anclas, alias y etiquetas en vez de elegir su expansión o conversión de tipos. JSON representa un árbol de valores; YAML admite nodos compartidos y valores tipados. También rechaza varios documentos en vez de inventar una matriz. De JSON a YAML conserva los valores representados. La especificación YAML define el formato completo.

Mi YAML dice no y el JSON salió como cadena. ¿Por qué?

YAML 1.1 trataba yes, no, on y off como booleanos y convertía el código de Noruega en false. Este subconjunto usa YAML 1.2: esas palabras siguen siendo cadenas, true y false son booleanos, null y ~ son null y los escalares numéricos son números. El escritor YAML entrecomilla las palabras ambiguas para lectores con reglas antiguas.

¿Mantiene el orden de mis claves?

Sí, en los dos sentidos, y eso es más difícil de lo que parece. Un conversor construido sobre JSON.parse mueve en silencio al principio las claves que parecen enteros, así que {"10":a,"2":b} vuelve como {"2":b,"10":a}. Los números mantienen los dígitos que escribiste, así que un identificador de cuenta de veinte dígitos no pierde los tres últimos por un double. Si quieres que se ordenen hay una casilla, y ordena por cómo se leen las claves y no por sus puntos de código.

¿Puede convertir varios documentos YAML a la vez?

No, y lo dice en lugar de elegir uno. Un archivo con separadores --- contiene más de un documento, y JSON no tiene ninguna forma que signifique «varios documentos»: un array sería una afirmación que el archivo nunca hizo. Conviértelos de uno en uno.

¿Por qué aquí no hay un formateador de YAML?

Porque YAML no tiene una forma comprimida que valga la pena escribir: la corta es el estilo de flujo, que es ilegible, y lo ilegible es lo contrario de la razón por la que se mantiene un archivo en YAML. Ordenar JSON, XML, HTML y CSS es el trabajo del formateador de JSON, y ese también ordena YAML.

¿De qué tamaño puede ser el archivo?

Aquí no hay ningún límite puesto, porque no hay un servidor pagándolo. El techo real es tu propio dispositivo: unos cuantos megabytes de YAML van bien, y con un documento muy largo la página espera a que hagas una pausa al escribir antes de convertirlo, en lugar de pelearte el teclado.

¿Es gratis? ¿Necesito una cuenta?

Es gratis, y no hay cuenta, ni inicio de sesión, ni versión de prueba, ni límite de cuánto pegas. El sitio lleva publicidad, que es lo que lo paga; a los anuncios no se les da nada sobre tu texto.

¿Funciona sin conexión?

Sí. Carga la página una vez, desconéctate de internet y sigue funcionando. Esa es también la forma más simple de demostrar que no se sube nada: una herramienta que mandara tu configuración fuera para convertirla se pararía en el momento en que te desconectaras.