Convertir TOML en YAML — Numio
Convertit un document TOML en YAML. Les tables deviennent des mappings imbriqués, les [[array of tables]] des listes de mappings, et les guillemets ne sont ajoutés que là où YAML en a besoin (par exemple, "2021" reste une chaîne).
Transférer les paramètres d’une configuration TOML (Cargo, pyproject, Hugo) vers un outil basé sur YAML, comme un workflow de CI ou un manifeste Kubernetes.
TOML
YAML
Quand l’utiliser
- Transférer les paramètres d’une configuration TOML (Cargo, pyproject, Hugo) vers un outil basé sur YAML, comme un workflow de CI ou un manifeste Kubernetes.
- Lire sous forme d’arbre indenté un long fichier TOML avec des tables pointées et imbriquées.
Mode d’emploi
- Collez le document TOML dans l’éditeur de gauche, ou utilisez le bouton de chargement de fichier pour ouvrir un fichier UTF-8.
- Si une erreur apparaît, utilisez la ligne et la colonne indiquées pour trouver les clés en double ou les problèmes de syntaxe.
- Vérifiez les date-heures et les valeurs entre guillemets dans le YAML, puis copiez-le.
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.rsDétails et limites
Les commentaires sont perdus. Les date-heures avec décalage sont converties en UTC (2024-01-05T10:00:00+09:00 devient 2024-01-05T01:00:00.000Z) et des millisecondes sont ajoutées.
La sortie suit YAML 1.2 : des chaînes comme yes et on sont donc écrites sans guillemets. Les parsers YAML 1.1 (par exemple PyYAML) peuvent les lire comme des booléens ; ajoutez les guillemets à la main si nécessaire.
Les heures locales comme 09:00:00 sont écrites avec des millisecondes (09:00:00.000) ; les dates et date-heures locales restent sans fuseau horaire.
S’exécute dans votre navigateur (@iarna/toml, yaml, Prettier) ; inf et nan deviennent .inf et .nan.
FAQ
Les commentaires sont-ils conservés ?
Non. Le TOML est d’abord analysé en données, donc les commentaires et les lignes vides sont perdus. Recopiez à la main les commentaires importants.
Comment les [[array of tables]] sont-ils convertis ?
Chaque bloc [[bin]] devient un élément d’une liste YAML sous bin, comme le montre l’exemple.
Pourquoi ai-je l’erreur "Can't redefine existing key" ?
La même clé ou table est définie deux fois, ce que TOML interdit. L’erreur indique la ligne et la colonne de la seconde définition.