Conversor JSON <-> YAML
Convierte entre formatos JSON y YAML instantáneamente.
¿Qué es JSON y YAML?
JSON (JavaScript Object Notation) y YAML (YAML Ain't Markup Language) son formatos populares de serialización de datos. JSON es el estándar para APIs web e intercambio de datos, mientras que YAML es preferido para archivos de configuración por su sintaxis legible por humanos. Esta herramienta te permite convertir entre ellos instantáneamente.
Entendiendo JSON
- El estándar universal para APIs REST e intercambio de datos web
- Sintaxis estricta que requiere comillas dobles alrededor de claves y cadenas
- Soporte nativo de análisis en JavaScript y la mayoría de lenguajes de programación
- No se permiten comentarios, lo que mantiene el formato puro para datos
- Compacto y eficiente para transmisión por red
Entendiendo YAML
- Diseñado para legibilidad humana con sintaxis mínima
- Usa indentación (espacios, no tabuladores) para definir estructura
- Soporta comentarios con el símbolo # para documentación
- Estándar para Docker Compose, Kubernetes, Ansible y pipelines CI/CD
- Soporta cadenas multilínea y tipos de datos complejos
Cuándo usar cada formato
JSON
Usa JSON para respuestas y peticiones API, almacenar datos en bases de datos como MongoDB, localStorage del navegador y cualquier comunicación máquina a máquina donde la velocidad de análisis importa.
YAML
Usa YAML para archivos de configuración, infraestructura como código (Terraform, Kubernetes), flujos de trabajo CI/CD (GitHub Actions, GitLab CI) y cualquier archivo que los humanos leerán y editarán frecuentemente.
Diferencias clave de sintaxis
Entender las diferencias te ayuda a evitar errores de conversión:
- JSON requiere comillas dobles alrededor de todas las claves y valores de cadena. Las comillas en YAML son opcionales para la mayoría de las cadenas.
- JSON usa comas para separar elementos. YAML usa saltos de línea e indentación.
- JSON usa {} y [] para objetos y arrays. YAML usa indentación y guiones (-) para listas.
- Ambos soportan true/false, pero YAML también acepta yes/no y on/off como valores booleanos.
- JSON usa null. YAML acepta null, ~ o simplemente dejar un valor vacío.
Errores comunes de conversión
Cuidado con estos problemas al convertir entre formatos:
- Los comentarios YAML (líneas que empiezan con #) se pierden al convertir a JSON ya que JSON no soporta comentarios.
- Las cadenas multilínea de YAML usando | o > se convierten a cadenas de una sola línea con secuencias de escape \n en JSON.
- Las anclas YAML (&) y alias (*) para reutilizar contenido no tienen equivalente en JSON y se expanden.
- YAML autodetecta tipos, así que 'yes' se convierte en booleano. Envuélvelo en comillas si necesitas la cadena literal.
- YAML es sensible a la indentación. Un espaciado inconsistente causará errores de análisis.
Mejores prácticas
- Siempre valida tu salida después de convertir, especialmente para archivos de configuración que se usarán en producción.
- Mantén copias de seguridad de archivos originales antes de convertir, particularmente para configuraciones complejas.
- Usa indentación consistente (2 o 4 espacios) en YAML para mejor legibilidad.
- Prueba los archivos de configuración convertidos en un entorno de staging antes de desplegar a producción.
Preguntas Frecuentes
¿Es segura y privada la conversión?
Absolutamente. Toda la conversión ocurre 100% en tu navegador con JavaScript. Tus datos nunca salen de tu computadora y nunca se envían a un servidor. Esto lo hace seguro para archivos de configuración sensibles y respuestas API.
¿Puedo convertir archivos grandes?
Sí, la herramienta puede manejar archivos grandes, pero el rendimiento depende de tu navegador y dispositivo. Para archivos de más de 1MB, podrías notar un ligero retraso. Para archivos muy grandes (10MB+), considera usar herramientas de línea de comandos como yq para mejor rendimiento.
¿Qué pasa con los comentarios YAML durante la conversión?
Dado que JSON no soporta comentarios, cualquier comentario YAML (líneas que empiezan con #) se perderá al convertir a JSON. Si necesitas preservar la documentación, considera mantenerla en un archivo separado o convertir solo las partes de datos.
¿Por qué mi YAML tiene comillas después de convertir desde JSON?
El conversor añade comillas alrededor de cadenas que podrían malinterpretarse como otros tipos. Por ejemplo, 'yes' sin comillas en YAML se convierte en un booleano. Las comillas aseguran que el valor permanezca como cadena. Puedes eliminar manualmente las comillas innecesarias si lo deseas.
¿Puedo convertir objetos y arrays anidados?
Sí, el conversor maneja estructuras profundamente anidadas, arrays de objetos y tipos de datos mixtos. Tanto JSON como YAML soportan los mismos tipos de datos fundamentales, así que las estructuras complejas se convierten sin problemas.
¿Qué versión de YAML soporta esta herramienta?
Esta herramienta usa YAML 1.2, que es el estándar actual. Es compatible con el YAML usado por Docker, Kubernetes, GitHub Actions y la mayoría de herramientas modernas. Ten en cuenta que algunas herramientas más antiguas podrían usar YAML 1.1, que tiene reglas de coerción de tipos ligeramente diferentes.