Conversor YAML ↔ JSON
FormatoTodo se ejecuta en tu navegador: no se sube nada
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
- Pega YAML o JSON: lo que se pueda analizar como JSON se trata como JSON y el resto como YAML
- El resultado aparece mientras escribes; la dirección también se puede fijar a mano
- Elige «Compacta» para dejarlo en una línea o ajusta el sangrado
- 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
Formateador JSON
FormatoFormatea, valida y repara JSON en línea: árbol plegable, búsqueda de claves y valores, edición nodo a nodo y errores con línea y columna.
JSON a código
FormatoConvierte una muestra JSON en interfaces de TypeScript, structs de Go, clases de Java o structs de Rust; las claves que faltan salen opcionales.
Formateador XML
FormatoFormatea XML en línea por niveles de etiqueta, con comentarios, CDATA y DOCTYPE en su propia línea y los valores de atributo intactos.
Formateador SQL
FormatoFormatea SQL en línea: una cláusula por línea, palabras clave con el mismo estilo y subconsultas sangradas. El minificador quita los comentarios.
Conversor JSON5
FormatoPasa JSON5 a JSON estricto: comentarios, claves sin comillas, comillas simples, comas finales, hexadecimal e Infinity, con errores por línea y columna.
Formateador HTML
FormatoFormatea HTML en línea por niveles de etiqueta, manteniendo el texto y las etiquetas en línea en la misma línea y el contenido de script o pre intacto.