YAML a JSON

Parse YAML a JSON indentado. Docker Compose, Kubernetes y configs suelen estar en YAML.

{{ yamlToJson.message }}

Descripción

YAML y JSON son primos cercanos en la familia de formatos de serialización de datos — técnicamente, JSON es un subconjunto de YAML 1.2, lo que significa que cualquier JSON válido también es YAML válido. Lo inverso no se cumple: YAML tiene anclajes, alias, etiquetas de tipo personalizadas, comentarios y sangría significativa, nada de lo cual existe en JSON. Esa diferencia define, en la práctica, cuándo usar cada uno: YAML para configuraciones que los humanos van a editar con frecuencia; JSON para datos intercambiados entre sistemas.

YAML conquistó definitivamente el mundo DevOps en los años 2010. Kubernetes usa YAML para todo: Deployments, Services, ConfigMaps, Ingresses — cualquier ingeniero de plataforma hoy necesita leer y escribir YAML con fluidez. Docker Compose, GitHub Actions, GitLab CI, CircleCI, Ansible, Helm — todos eligieron YAML como formato de manifiesto porque es genuinamente más agradable de leer y editar que JSON en archivos largos. El problema es que YAML fue diseñado para ser editado por humanos, no parseado por máquinas a escala — y las bibliotecas de parseo de YAML tienen un historial bien documentado de vulnerabilidades, especialmente en lenguajes que permiten la deserialización de tipos arbitrarios.

Convertir YAML a JSON es necesario cuando necesitas usar datos de una configuración YAML en un contexto que solo acepta JSON: APIs REST, herramientas de validación de JSON Schema, logs estructurados, configuraciones de Lambda de AWS que esperan JSON, dashboards de Grafana, o simplemente depurar una estructura YAML compleja con una visualización más familiar. YAML con anclajes y alias es especialmente útil para reducir la repetición en archivos de configuración — pero al convertir a JSON, esas referencias se expanden, resultando en un JSON más verboso pero completamente explícito.

Esta herramienta usa un parser YAML cargado bajo demanda en el navegador. YAML avanzado con etiquetas de tipo personalizadas o anclajes muy profundos puede comportarse de forma diferente entre implementaciones — el parser usado aquí es js-yaml, ampliamente adoptado en el ecosistema JavaScript. Para la mayoría de los casos de uso — manifests de Kubernetes, Docker Compose, GitHub Actions, configuraciones de frameworks — el resultado es confiable. Valida las salidas críticas antes de usarlas en automatización.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — servico: porta: 8080 debug: true

Fragmentos de Código

Ejemplo de código
servico:
  porta: 8080
  debug: true

Ejemplo

servico:
  porta: 8080
  debug: true

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.