Convertir TOML a YAML — Numio
Convierte un documento TOML en YAML. Las tablas pasan a mappings anidados, los [[array of tables]] a listas de mappings, y solo se añaden comillas donde YAML las necesita (por ejemplo, "2021" se mantiene como cadena).
Pasar ajustes de una configuración TOML (Cargo, pyproject, Hugo) a una herramienta basada en YAML, como un workflow de CI o un manifiesto de Kubernetes.
TOML
YAML
Cuándo usarla
- Pasar ajustes de una configuración TOML (Cargo, pyproject, Hugo) a una herramienta basada en YAML, como un workflow de CI o un manifiesto de Kubernetes.
- Leer como árbol con sangría un archivo TOML largo con tablas con puntos y anidadas.
Cómo usarla
- Pega el documento TOML en el editor izquierdo, o usa el botón de cargar archivo para abrir un archivo UTF-8.
- Si aparece un error, usa la fila y la columna indicadas para localizar claves duplicadas o problemas de sintaxis.
- Revisa las fechas y horas y los valores entre comillas en el YAML, y luego cópialo.
TOML
# Cargo-style manifest
[package]
name = "demo"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
[[bin]]
name = "cli"
path = "src/main.rs"YAML
package:
name: demo
version: 0.1.0
edition: "2021"
dependencies:
serde:
version: "1.0"
features:
- derive
bin:
- name: cli
path: src/main.rsDetalles y limitaciones
Los comentarios se pierden. Las fechas y horas con desfase se convierten a UTC (2024-01-05T10:00:00+09:00 pasa a 2024-01-05T01:00:00.000Z) y se añaden milisegundos.
La salida sigue YAML 1.2, así que cadenas como yes y on se escriben sin comillas. Los parsers de YAML 1.1 (por ejemplo, PyYAML) pueden leerlas como booleanos; ponlas entre comillas a mano si hace falta.
Las horas locales como 09:00:00 se escriben con milisegundos (09:00:00.000); las fechas y fechas y horas locales no llevan zona horaria.
Se ejecuta en tu navegador (@iarna/toml, yaml, Prettier); inf y nan pasan a .inf y .nan.
FAQ
¿Se conservan los comentarios?
No. Primero se analiza el TOML como datos, así que se pierden los comentarios y las líneas en blanco. Copia a mano los comentarios importantes.
¿Cómo se convierten los [[array of tables]]?
Cada bloque [[bin]] pasa a ser un elemento de una lista YAML bajo bin, como se ve en el ejemplo.
¿Por qué aparece "Can't redefine existing key"?
La misma clave o tabla está definida dos veces, algo que TOML prohíbe. El error indica la fila y la columna de la segunda definición.