piapia123
es

Conversor YAML ↔ JSON

Formato

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Convierte una configuración YAML a JSON, o al revés. Los archivos de varios documentos (los que van separados por ---, como un manifiesto de Kubernetes con varios recursos) se convierten en un array JSON en vez de perder todo lo que sigue al primero; las anclas, los alias y las claves de fusión << se expanden a su contenido real en lugar de quedarse como una clave << literal. El análisis usa una implementación completa de YAML, así que los escalares de bloque, el estilo de flujo y el tipado implícito se comportan como deben: un subconjunto casero «que basta» acabará leyendo alguna entrada como otra cosa, y para cuando se despliegue la configuración ya no quedará ninguna pista. Los errores vienen con línea y columna.

Funciones

  • Las dos direcciones, detectadas automáticamente o fijadas a mano
  • Un YAML de varios documentos se convierte en un array JSON: nada de lo que sigue al primer --- se pierde
  • Las anclas y los alias se expanden, y las claves de fusión << se resuelven
  • Los enteros grandes se tratan como BigInt: los valores por encima de 2^53 salen como cadenas para no perder dígitos
  • Los errores de análisis señalan una línea y una columna en vez de decir «formato incorrecto»
  • La forma de salida es opcional: expandida o compactada en una línea; el sangrado del JSON admite 2 / 4 espacios o tabulador
  • La salida va con resaltado, así que una configuración larga se sigue leyendo

Cómo se usa

  1. Pega YAML o JSON: lo que se pueda analizar como JSON se trata como JSON y el resto como YAML
  2. El resultado aparece mientras escribes; la dirección también se puede fijar a mano
  3. Elige «Compacta» para dejarlo en una línea o ajusta el sangrado
  4. Haz clic en Copiar para llevarte el resultado

Preguntas frecuentes

¿Dónde se fueron los comentarios, las anclas y el formato original?
JSON no tiene ninguna estructura que pueda llevar comentarios ni anclas: solo objetos, arrays y escalares. Las anclas y los alias se expanden a lo que señalan, lo cual pierde información pero es semánticamente correcto; los comentarios solo se pueden descartar. Si un comentario importa, guárdalo fuera del JSON.
¿Por qué un entero grande se volvió una cadena en el JSON?
Porque JSON no tiene tipo para enteros grandes, y los números de JavaScript dejan de distinguir enteros contiguos a partir de 2^53: 9007199254740993 se convierte en silencio en ...992. Antes que emitir un número que parece correcto y está desviado en uno, se emite como cadena: cambia el tipo, no el valor, y ves el cambio en el resultado.
¿yes / no son booleanos aquí?
No. Aquí se sigue YAML 1.2: yes, no, on y off son cadenas normales, y solo true y false son booleanos. La diferencia importa: un analizador de YAML 1.1 que lea el mismo archivo convierte `password: no` en un booleano, y tu contraseña pasa a ser false.
¿Se sube mi entrada a algún sitio?
No. El análisis y la conversión ocurren enteros en el navegador y la página no envía ninguna petición; los archivos de configuración suelen llevar claves, cadenas de conexión y direcciones internas, y nada de eso sale del equipo.

Herramientas relacionadas