YAML ↔ JSON

Pega YAML o JSON. La conversión detecta la dirección automáticamente; haz clic en la salida para copiar.

Acerca de YAML ↔ JSON

Manifiestos de Kubernetes, workflows de GitHub Actions y configs estilo Spring suelen estar en YAML; mocks REST y scripts jq esperan JSON. convertYamlJsonAuto trata entrada que empieza con { o [ como JSON→YAML; si no, yaml.parse emite JSON con sangría de 2 espacios.

Todo JSON válido también es YAML válido, pero YAML añade comentarios, anclas y comillas flexibles. Esta herramienta se centra en el modelo compartido: mapas, listas, strings, números, booleanos y null. Pega un fragmento, convierte y copia salida indentada para docs, tests o motores de política.

Qué puedes hacer

Dirección automática

YAML pasa a JSON con sangría de 2 espacios; objetos o arrays JSON salen como YAML legible, con orden de claves coherente según el parser.

Qué convierte bien

  1. Mapas, listas, strings, números, booleanos y null — formas típicas de config y fixtures.
  2. La sintaxis JSON es subconjunto de YAML: muchos snippets de config hacen round-trip sin edits manuales.
  3. Anclas (&), alias (*), merge keys y tags custom no se conservan: usa YAML plano aquí.
  4. Los comentarios YAML se pierden al ir a JSON porque JSON no tiene comentarios.

Kubernetes y DevOps

  • Strings multilínea (| y >) pasan a strings JSON con saltos embebidos: revisa comillas en herramientas downstream.
  • Enteros muy grandes pueden stringificarse distinto que en parsers JSON estrictos: valida contra tu schema de API.
  • Archivos multidocumento (---): convierte un documento por pegado.

Cuando falla la conversión

  • Sangría inconsistente o tabs en lugar de espacios — YAML es sensible al espacio en blanco.
  • BOM o carácter extra antes de la primera clave rompe el parser: recorta y reintenta.
  • JSON con comas finales o comentarios hay que corregirlo antes de JSON→YAML.

Casos de uso

Configs de K8s y CI

Pasa un fragmento de Deployment o ConfigMap a JSON para jq, tests OPA/Gatekeeper o ejemplos OpenAPI. Al revés cuando un proveedor manda JSON pero el cluster espera YAML.

Mocks y docker-compose

Pega JSON de una respuesta curl y obtén YAML para borradores de docker-compose, Helm values o stacks locales. Compara espaciado con la guía del equipo antes de commitear.

Docs y code review

Muestra el mismo fixture en ambos formatos al revisar README o al cruzar docs JSON Schema con pipelines YAML-first.

Fixtures de prueba

Convierte golden files entre JSON y YAML para que Jest, pytest o Go testdata compartan un mismo objeto sin reindentar a mano.

Preguntas frecuentes

¿Cómo convierto YAML a JSON en línea?
Pega YAML en la entrada y pulsa Convertir (o confía en autodetect). JSON indentado aparece a la salida — copia cuando los valores se vean bien. Si el pegado empieza con { o [, se trata como JSON y sale YAML.
¿YAML es superset de JSON?
Todo documento JSON es YAML válido, pero YAML añade comentarios, anclas y strings sin comillas. La herramienta se enfoca en estructuras que ambos comparten; tags YAML exóticos pueden no hacer round-trip.
¿Por qué falla mi YAML?
Causas habituales: sangría inconsistente (YAML es sensible al espacio), tabs en lugar de espacios o un carácter extra al inicio. Corrige sangría o pega un snippet más chico para ubicar la línea del error.
¿Cómo se tratan booleanos y null?
YAML true/false/null pasan a JSON true/false/null. "yes"/"no" entre comillas siguen siendo strings en JSON. yes/no sin comillas pueden parsearse como boolean en algunos motores — cita si necesitas string.
¿Puedo convertir varios documentos YAML a la vez?
No: un documento por ejecución. Parte en líneas --- y convierte cada bloque por separado; fusiona en el editor si hace falta.
¿Sobreviven los comentarios YAML al pasar a JSON?
No. JSON no tiene comentarios, así que se descartan en YAML→JSON. Mantén el YAML fuente en control de versiones si los comentarios importan.
¿Por qué los números se ven distintos tras convertir?
YAML puede parsear cadenas largas de dígitos como enteros mientras consumidores JSON esperan strings para IDs. Si tu schema exige IDs string, pon comillas en YAML antes de convertir.