Convertir YAML a TOML — Numio
Convierte un documento YAML en TOML. Los mappings anidados pasan a secciones [table.sub], las listas de mappings a [[array of tables]] y las claves con valor null (~) se descartan.
Reescribir una configuración YAML como TOML cuando un proyecto pasa a pyproject.toml o a los ajustes TOML de Cargo, Hugo o Netlify.
YAML
TOML
Cuándo usarla
- Reescribir una configuración YAML como TOML cuando un proyecto pasa a pyproject.toml o a los ajustes TOML de Cargo, Hugo o Netlify.
- Comprobar cómo quedaría una estructura YAML anidada como tablas TOML antes de elegir un formato de configuración.
Cómo usarla
- Pega un único documento YAML con un mapping en el nivel superior en el editor izquierdo, o usa el botón de cargar archivo para abrir un archivo UTF-8.
- Corrige cualquier error de YAML indicado (sangría, varios documentos o una lista en el nivel superior).
- Revisa las fechas, los null y las listas en el TOML, y luego cópialo.
YAML
# docker-compose style
version: "3.9"
services:
web:
image: nginx:1.27
ports:
- "8080:80"
environment:
DEBUG: false
WORKERS: 4
db:
image: postgres:16TOML
version = "3.9" [services.web] image = "nginx:1.27" ports = [ "8080:80" ] [services.web.environment] DEBUG = false WORKERS = 4 [services.db] image = "postgres:16"
Detalles y limitaciones
El YAML se lee como YAML 1.2: yes sigue siendo la cadena "yes", 0o17 pasa a 15 y las fechas sin comillas como 2024-01-05 pasan a cadenas TOML, no a fechas TOML.
Los comentarios y los anchors no se conservan como tales: los aliases (*name) y las claves de fusión <<: *anchor se expanden a los valores a los que hacen referencia.
Solo se acepta un documento; una entrada con separadores --- falla con un error de varios documentos. Una lista en el nivel superior, o una lista que mezcla mappings con valores simples, se rechaza con una explicación.
Se ejecuta en tu navegador (yaml + @iarna/toml). Las subtablas como [services.web.environment] se sangran con dos espacios; TOML ignora esta sangría.
FAQ
¿Puedo convertir un docker-compose.yml a TOML?
La estructura se convierte, como en el ejemplo, pero Docker Compose solo lee YAML. Úsalo para inspeccionar o reutilizar los datos, no como archivo de Compose.
¿Qué pasa con los valores null?
Las claves cuyo valor es ~ o null se omiten porque TOML no tiene tipo null.
¿Se admiten los anchors y las claves de fusión de YAML?
Sí. Los aliases (*name) se expanden y <<: *base copia las claves de base en el mapping; las claves escritas junto a él tienen prioridad. El TOML muestra los valores combinados.