Choisir la langue

Convertisseur JSON vers TOML en ligne

Transformez vos données JSON en format TOML : gestion des tables, des tableaux de tables et des valeurs imbriquées, avec un rendu lisible immédiat.

Mehmet Demiray Publié Mis à jour
Partager
Écrivez les nombres entiers avec un point décimal

Pourquoi convertir du JSON en TOML

Le JSON s'est imposé comme le format d'échange par défaut des API et des applications web. Le TOML (Tom's Obvious, Minimal Language) répond à un autre besoin : écrire des fichiers de configuration que l'on relit facilement. C'est le format retenu par Cargo pour Rust, par Poetry et pip via pyproject.toml, ou encore par le générateur de sites Hugo.

Passer du JSON au TOML devient utile dès que vous récupérez une réponse d'API ou un objet de données et que vous voulez en faire un fichier de réglages versionné dans un dépôt. Les deux formats expriment les mêmes structures de base : objets, tableaux, chaînes, nombres et booléens.

La différence tient à la forme. Le JSON empile les accolades et les crochets, tandis que le TOML organise l'information en tables déclarées entre crochets, avec une paire clé = valeur par ligne. Le résultat est plus aéré et se commente directement. Si vous avez d'abord besoin de nettoyer votre source, le formateur JSON vous aide avant la conversion.

Comment fonctionne le convertisseur

Le convertisseur lit votre JSON, valide sa syntaxe, puis le traduit en structures TOML équivalentes. Chaque type trouve sa correspondance naturelle :

JSON TOML
objet table [section]
objet imbriqué table pointée [a.b]
tableau d'objets tableau de tables [[items]]
chaîne, nombre, booléen clé = valeur

Un objet racine devient une suite de paires clé-valeur au plus haut niveau. Un objet imbriqué se transforme en table dédiée, dont le nom reprend le chemin complet séparé par des points. Les listes d'objets utilisent la syntaxe [[nom]], répétée pour chaque élément.

Les valeurs scalaires restent fidèles : les chaînes sont entourées de guillemets, les nombres et les booléens conservent leur écriture brute. Quelques cas demandent attention. Le TOML n'a pas d'équivalent direct pour null, et les clés contenant des caractères spéciaux doivent être mises entre guillemets. Le convertisseur applique ces règles automatiquement pour produire un fichier valide. Pour l'opération inverse, utilisez le convertisseur TOML vers JSON.

Différences de structure entre JSON et TOML

Comprendre la logique de chaque format évite les surprises. Le JSON est un format arborescent où tout descend d'une racine unique, délimité par des accolades et des crochets. La hiérarchie se lit par l'imbrication visuelle.

Le TOML, lui, privilégie une lecture séquentielle. Au lieu d'imbriquer profondément, il déclare des sections nommées. Voici la même information dans les deux écritures :

`` { "serveur": { "hote": "localhost", "port": 8080 } } ``

devient

`` [serveur] hote = "localhost" port = 8080 ``

Le TOML gère aussi des types que le JSON n'exprime pas nativement, comme les dates et heures au format natif, sans les enfermer dans une chaîne. À l'inverse, le JSON reste plus souple pour des structures très profondes ou hétérogènes.

En pratique, le JSON brille pour le transport de données entre machines, le TOML pour les réglages relus par des humains. Si votre cible finale est plutôt YAML, le convertisseur JSON vers YAML couvre ce besoin.

Cas d'usage concrets

La conversion JSON vers TOML revient souvent dans le quotidien des développeurs. Voici les situations les plus fréquentes :

  • Création de configurations Rust : générer un Cargo.toml à partir de métadonnées exportées en JSON par un outil ou un script.
  • Fichiers Python : construire un pyproject.toml pour Poetry ou pip, en repartant d'une définition de projet déjà disponible en JSON.
  • Sites Hugo : produire le fichier de configuration d'un site statique à partir de réglages stockés dans une base ou une API.
  • Migration de configuration : faire passer une application d'un format vers un autre sans réécrire chaque clé à la main.

Un autre usage courant concerne la transformation de réponses d'API. Vous récupérez un objet JSON, vous le convertissez en TOML, puis vous l'intégrez dans un dépôt versionné où la lisibilité compte. La sortie reste éditable : vous pouvez ajouter des commentaires, réorganiser les sections ou ajuster les valeurs avant de valider votre fichier. Cette souplesse explique l'adoption croissante du TOML dans l'outillage moderne.

Caractères spéciaux et fidélité de la conversion

Une conversion réussie doit préserver le sens de vos données. Les chaînes contenant des guillemets, des sauts de ligne ou des barres obliques inverses sont échappées selon les règles du TOML. Les clés comportant des espaces, des points ou des symboles sont automatiquement entourées de guillemets pour rester valides.

Les structures imbriquées profondes se traduisent en tables pointées. Un chemin comme a.b.c reste lisible même sur plusieurs niveaux, ce qui garde le fichier clair. Les tableaux d'objets deviennent des tableaux de tables répétés, fidèles à l'ordre d'origine.

La question de la perte d'information mérite attention. Dans l'immense majorité des cas, la conversion conserve 100 % des valeurs exploitables. Le seul point sensible reste null, absent du modèle TOML : la clé concernée est généralement omise, puisque le format ne représente pas l'absence de valeur de la même façon. En dehors de ce détail, vous retrouvez l'intégralité de votre contenu. Vérifiez toujours le résultat sur un échantillon avant de l'appliquer à un fichier critique de production.

Celles que nous répondons le plus souvent.

Comment convertir du JSON en TOML ?

Collez votre contenu JSON dans le champ d'entrée. L'outil le valide puis affiche immédiatement la version TOML correspondante. Vous pouvez ensuite copier le résultat et le coller dans votre fichier de configuration, par exemple un Cargo.toml ou un pyproject.toml.

Quelles sont les principales différences entre JSON et TOML ?

Le JSON est un format arborescent à base d'accolades et de crochets, pensé pour l'échange de données entre machines. Le TOML organise l'information en sections nommées avec des paires clé = valeur, ce qui le rend plus lisible pour des fichiers de configuration relus par des humains. Le TOML gère aussi nativement les dates et heures.

Que deviennent les structures imbriquées ?

Les objets imbriqués sont transformés en tables pointées, par exemple [serveur.base]. Les tableaux d'objets deviennent des tableaux de tables avec la syntaxe [[items]], répétée pour chaque élément. L'ordre et la hiérarchie de votre JSON d'origine sont conservés.

Comment sont gérés les caractères spéciaux ?

Les chaînes contenant des guillemets, des barres obliques inverses ou des sauts de ligne sont échappées selon les règles du TOML. Les clés comportant des espaces ou des symboles sont automatiquement entourées de guillemets pour rester valides. Vous obtenez ainsi un fichier toujours conforme.

La conversion est-elle sans perte ?

Dans la quasi-totalité des cas, oui : chaînes, nombres, booléens et structures sont préservés à l'identique. Le seul point particulier concerne la valeur null, qui n'existe pas en TOML et qui est généralement omise. En dehors de ce détail, votre contenu reste intégralement exploitable.

Puis-je convertir un fichier TOML de nouveau en JSON ?

Oui. Pour l'opération inverse, utilisez le convertisseur TOML vers JSON. Vous pouvez ainsi faire l'aller-retour entre les deux formats selon vos besoins, par exemple pour transporter une configuration via une API puis la réécrire en fichier versionné.