Guide de conversion entre TOML et JSON
Introduction à TOML
TOML (Tom's Obvious Minimal Language) est un format conçu spécifiquement pour les fichiers de configuration, créé par le co-fondateur de GitHub, Tom Preston-Werner. Ses objectifs sont :
- Lisible par l'humain avec une sémantique claire
- Mappable sans ambiguïté vers une table de hachage
- Plus simple que YAML, plus convivial que JSON
Syntaxe de base
title = "TOML Example"
[owner]
name = "Alice"
email = "alice@example.com"
[database]
host = "127.0.0.1"
port = 5432
enabled = true
Comparaison TOML vs JSON vs YAML
| Caractéristique | TOML | JSON | YAML |
|---|---|---|---|
| Commentaires | Prend en charge # |
Non | Prend en charge # |
| Type date | Natif | Non | Non |
| Chaînes multiligne | Oui | Non | Oui |
| Complexité | Faible | Moyenne | Élevée |
| Ambiguïté d'analyse | Aucune | Aucune | Oui |
| Utilisation principale | Fichiers de configuration | Échange de données | Fichiers de configuration |
Conversion avec l'outil TOML↔JSON
Étape 1 : Choisir la direction de conversion
Ouvrez l'outil TOML↔JSON et sélectionnez « TOML → JSON » ou « JSON → TOML ».
Étape 2 : Saisir les données
Collez le contenu TOML ou JSON dans la zone de saisie. Le téléchargement direct de fichiers est également pris en charge.
Étape 3 : Convertir
Cliquez sur le bouton de conversion. Les résultats apparaissent instantanément dans la zone de sortie.
Étape 4 : Copier ou télécharger
Copiez le résultat de la conversion en un clic, ou téléchargez-le sous forme de fichier au format correspondant.
Règles de mappage de TOML vers JSON
Types de base
string = "hello"
integer = 42
float = 3.14
boolean = true
Converti en JSON :
{
"string": "hello",
"integer": 42,
"float": 3.14,
"boolean": true
}
Table → Objet
[server]
host = "localhost"
port = 8080
Converti en JSON :
{
"server": {
"host": "localhost",
"port": 8080
}
}
Tableaux
ports = [8000, 8001, 8002]
Date et heure
TOML prend nativement en charge les types de date. Lors de la conversion en JSON, ils deviennent des chaînes :
created = 2026-06-01T10:00:00Z
→ "created": "2026-06-01T10:00:00Z"
Considérations de JSON vers TOML
- JSON
nulln'a pas d'équivalent TOML — nécessite un traitement spécial lors de la conversion - Les tableaux de types mixtes en JSON sont invalides en TOML
- Les objets JSON imbriqués deviennent des tables TOML
- Vérifiez les commentaires et la mise en forme après conversion pour vous assurer qu'ils répondent à vos besoins
Cas d'utilisation courants
Projets Rust : Cargo.toml
[package]
name = "my-app"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = "1.0"
tokio = { version = "1", features = ["full"] }
Lors de la modification des versions de dépendances, convertissez en JSON avec l'outil TOML↔JSON pour un traitement programmatique, puis reconvertissez.
Projets Python : pyproject.toml
[project]
name = "my-package"
version = "1.0.0"
requires-python = ">=3.8"
[project.dependencies]
requests = "^2.28"
flask = "^2.3"
Configuration de sites statiques
Les générateurs de sites statiques comme Hugo et Zola utilisent TOML comme format de configuration, nécessitant souvent une conversion vers et depuis JSON.
Interopérabilité avec d'autres formats
- TOML ↔ YAML : Convertissez d'abord en JSON avec l'outil TOML↔JSON, puis en YAML avec l'outil YAML↔JSON
- Validez les résultats intermédiaires avec le Formateur JSON
- Conservez les commentaires TOML originaux et rajoutez-les manuellement après la conversion
Erreurs courantes
| Erreur | Cause | Solution |
|---|---|---|
| Échec de l'analyse TOML | Erreur de syntaxe | Vérifiez les en-têtes de table et le format clé-valeur |
| Problème de format de date | Fuseau horaire manquant | Utilisez le format ISO 8601 complet |
| null ne peut pas être converti | TOML n'a pas de null | Utilisez une chaîne vide ou supprimez le champ |
| Erreur de format de table en ligne | Syntaxe non standard | Utilisez le format de table standard à la place |
Résumé
TOML est un excellent choix pour les fichiers de configuration modernes, et la conversion vers/depuis JSON est très pratique pour la gestion de configuration de projets. L'outil TOML↔JSON permet une conversion rapide de format, et combiné avec l'outil YAML↔JSON, vous pouvez basculer librement entre les trois formats.