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
- Mapas, listas, strings, números, booleanos y null — formas típicas de config y fixtures.
- La sintaxis JSON es subconjunto de YAML: muchos snippets de config hacen round-trip sin edits manuales.
- Anclas (&), alias (*), merge keys y tags custom no se conservan: usa YAML plano aquí.
- 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.