YAML to JSON Converter
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
YAML y JSON son formatos estrechamente relacionados (JSON es técnicamente un subconjunto estricto de YAML 1.2) y la conversión entre ellos suele ser sencilla. YAML agrega características amigables para los humanos de las que JSON carece: comentarios, cadenas de varias líneas sin escape, referencias de anclaje y alias, citas más flexibles y una estructura basada en sangría que se asemeja al diseño natural del documento. Esto convierte a YAML en la opción popular para archivos de configuración (manifiestos de Kubernetes, flujos de trabajo de GitHub Actions, Docker Compose), mientras que JSON domina las cargas útiles de API.
Convertir YAML a JSON generalmente significa renunciar a los extras amigables para los humanos de YAML a cambio de un formato que las máquinas analizan más fácilmente y que es la lengua franca de las API HTTP. Los comentarios se eliminan (JSON no tiene ninguno). Las referencias ancla se resuelven en sus valores de referencia. Las cadenas de varias líneas se contraen a cadenas JSON estándar con nuevas líneas incrustadas.
Este convertidor analiza YAML utilizando js-yaml, la biblioteca YAML más utilizada en JavaScript. La salida se genera utilizando JSON.stringify con sangría opcional. La conversión maneja toda la sintaxis estándar de YAML 1.2, incluido el estilo de flujo, el estilo de bloque, escalares, secuencias, asignaciones, anclajes, alias y los tipos de etiquetas estándar.
La mayoría de las API y muchos entornos de programación esperan JSON. Los archivos de configuración escritos en YAML deben convertirse a JSON cuando se integran con código o servicios que solo aceptan JSON. Las herramientas para JSON también son más abundantes: jq, JSON Path, JSON Schema y un amplio ecosistema de validadores y transformadores asumen entradas JSON.
JSON también es inequívoco a diferencia de YAML. La flexibilidad de YAML crea sorpresas en el análisis: cadenas como 'no' analizadas como booleanas falsas en YAML 1.1, cadenas de versión analizadas como flotantes, errores de sangría que producen cambios estructurales silenciosos. La conversión a JSON congela los datos en una forma menos ambigua.
Pegue YAML, obtenga JSON.
js-yaml implementa YAML 1.2 con soporte opcional para las peculiaridades de YAML 1.1 (el problema de 'no' como falso, números octales sin prefijo 0o). El analizador produce un árbol de objetos JavaScript utilizando tipos nativos: números, cadenas, booleanos, nulos, matrices y objetos simples.
JSON.stringify serializa el árbol de objetos en JSON. La sangría opcional produce resultados bonitos; sin él, el resultado es un JSON compacto de una sola línea. Los valores especiales (NaN, Infinity, indefinido) no son JSON válidos; el convertidor los obliga a ser nulos cuando estén presentes.
Casos extremos: las marcas de tiempo YAML se convierten en cadenas ISO-8601 en JSON. Los datos binarios YAML (codificados en base64) se convierten en una cadena. Los anclajes y alias se resuelven en valores duplicados en JSON, ya que JSON no tiene sintaxis de referencia.