YAML y JSON: conserva los datos, no el aspecto del archivo

Una configuración YAML puede necesitar JSON para intercambiarse con un servicio. Que las estructuras se parezcan no significa que cada parte del archivo tenga un equivalente.

El tipo importa más que la apariencia

La cadena "003" no es el número 3, ni "false" entre comillas es el booleano false. Mantén como texto los identificadores cuyos ceros o escritura exacta importen.

El convertidor admite datos YAML 1.2 Core compatibles con JSON. No transfieras automáticamente las expectativas de un sistema antiguo: una versión puede interpretar ciertas palabras de otra manera.

Referencias: YAML 1.2.2 — Core types and comments as presentation

Los comentarios ayudan al lector, no son datos

Los comentarios YAML sirven al mantenimiento, pero no forman parte de los datos. Aquí no pasan a JSON ni reaparecen al volver a YAML.

Guarda la fuente comentada y trata la conversión como una exportación de datos. El color de sintaxis y un orden familiar no prueban que los tipos sean los previstos.

Referencias: YAML 1.2.2 — Core types and comments as presentation

Rechazar estructuras evita pérdidas silenciosas

Este flujo admite un documento con claves de texto. Rechaza claves duplicadas, alias, anclas, etiquetas personalizadas y funciones fuera de su correspondencia de datos admitida.

Los números fuera del rango representable se rechazan en vez de redondearse a escondidas. Usa texto para identificadores largos. Convertir no ejecuta la configuración ni acredita la aceptación del servicio receptor.

Ejemplo: tres valores de tipos diferentes

code: "003", enabled: false y retries: 3 producen la cadena "003", el booleano false y el número 3. Los ceros sobreviven porque code es texto, no porque se haya adivinado su función.

Añadir # staging antes no crea una propiedad JSON. Al volver a YAML pueden cambiar comillas y formato conservando valores y tipos; el comentario original no se recupera.

Referencias