Convertir YAML a JSON
Analiza un documento YAML con la biblioteca yaml (esquema core de YAML 1.2) y lo devuelve como JSON con sangría. Los comentarios se descartan, los anchors y aliases se expanden, y valores como yes o 2024-01-01 se quedan como cadenas.
Enviar ajustes escritos en YAML a una API o a un validador de JSON Schema que solo acepta JSON.
Cuándo usarla
- Enviar ajustes escritos en YAML a una API o a un validador de JSON Schema que solo acepta JSON.
- Comprobar cómo se tipa realmente un archivo de CI o de Kubernetes, por ejemplo si una versión es una cadena o un número.
Cómo usarla
- Pega un único documento YAML o carga un archivo .yaml/.yml.
- Si aparece un error, revisa la sangría, las claves duplicadas y los separadores --- en la línea indicada.
- Revisa qué valores son cadenas y cuáles números en el JSON de salida y cópialo.
Entrada YAML
# deployment settings service: billing-api replicas: 2 version: "1.10" enabled: yes ports: - 80 - 443 env: LOG_LEVEL: info
JSON
{
"service": "billing-api",
"replicas": 2,
"version": "1.10",
"enabled": "yes",
"ports": [
80,
443
],
"env": {
"LOG_LEVEL": "info"
}
}Detalles y limitaciones
El análisis se ejecuta en el navegador. La salida es siempre JSON con 2 espacios; no hay opción para minificar.
Se aplican las reglas de YAML 1.2: yes/no/on/off son cadenas, no booleanos, y las fechas sin comillas se quedan como cadenas. 0o17 es octal (15).
Las merge keys (<<: *anchor) no se fusionan; aparecen como una clave literal "<<". Las claves duplicadas en un mismo mapping son un error.
Los enteros mayores que 2^53 pierden precisión en JSON. Pon los ID largos entre comillas en el YAML.
FAQ
¿Puede convertir un archivo con varios documentos separados por ---?
No. Varios documentos provocan el error "Source contains multiple documents". Pega un documento cada vez. Un único --- al principio no da problemas.
¿Por qué enabled: yes es una cadena en el JSON?
El parser sigue YAML 1.2, donde solo true y false son booleanos. Escribe true/false si necesitas un booleano JSON.
¿Se admiten anchors y aliases?
Sí. Un alias como *base se sustituye por una copia del valor anclado. Sin embargo, la merge key << de YAML 1.1 no se aplica.