Guide de conversion entre TOML et JSON

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 null n'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

  1. TOML ↔ YAML : Convertissez d'abord en JSON avec l'outil TOML↔JSON, puis en YAML avec l'outil YAML↔JSON
  2. Validez les résultats intermédiaires avec le Formateur JSON
  3. 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.

#TOML#JSON#配置文件#Rust#Python