Choisir la langue

Convertisseur TOML vers JSON en ligne

Convertissez vos fichiers TOML en JSON : gestion des tables, des tableaux de tables, des tables en ligne, des chaînes multilignes et des dates.

Mehmet Demiray Publié Mis à jour
Partager
Espacement utilisé pour formater la sortie JSON

Pourquoi convertir un fichier TOML en JSON

Le format TOML privilégie la lisibilité pour les humains, alors que JSON s'impose comme la lingua franca des échanges entre programmes. Convertir l'un vers l'autre devient utile dès qu'un fichier de configuration écrit à la main doit être lu par du code, une API ou un outil de build.

Plusieurs situations reviennent souvent :

  • lire un Cargo.toml ou un pyproject.toml dans un pipeline d'intégration continue,
  • transformer une configuration Hugo pour la passer à un script,
  • inspecter la structure réelle d'un fichier TOML en la visualisant sous forme d'arbre JSON.

Les deux formats expriment les mêmes concepts : objets, tableaux, chaînes, nombres et booléens. TOML ajoute des types comme les dates natives et distingue les tables des tableaux de tables, ce que JSON modélise avec des objets et des listes. Le convertisseur fait correspondre ces structures sans perte de sens. Si vous travaillez ensuite directement sur le résultat, le formateur JSON vous aide à l'indenter proprement avant de le réutiliser.

Comment fonctionne la conversion

L'outil suit trois étapes. D'abord il analyse le texte TOML que vous collez, en reconnaissant chaque élément de la grammaire : tables [table], tableaux de tables [[items]], tables en ligne { x = 1 }, chaînes multilignes et valeurs de date.

Ensuite il construit l'arbre de données correspondant, puis le sérialise en JSON. Voici un exemple simple :

``toml title = "Mon projet" [owner] name = "Alice" ``

devient :

``json { "title": "Mon projet", "owner": { "name": "Alice" } } ``

Le tableau ci-dessous résume les principales correspondances :

TOML JSON
[table] objet imbriqué
[[items]] tableau d'objets
2024-01-15 chaîne ISO
"""...""" chaîne échappée

Les cas particuliers, comme une clé définie deux fois ou une indentation ambiguë, déclenchent un message d'erreur précis indiquant la ligne concernée. Vous corrigez la source, puis relancez la conversion sans quitter la page.

Cas d'usage concrets pour les développeurs

La conversion TOML vers JSON intervient surtout dans les chaînes d'outillage. Dans un pipeline d'intégration continue, un script lit le pyproject.toml d'un projet Python pour en extraire la liste des dépendances, mais la plupart des bibliothèques de traitement attendent du JSON. Une conversion en amont évite d'écrire un parseur maison.

Elle sert aussi à la migration de configurations. Une équipe qui passe d'un outil utilisant TOML à un service consommant du JSON peut transformer ses fichiers en une fois, vérifier le résultat, puis l'adopter sans réécriture manuelle.

Autre situation fréquente : l'interopérabilité entre systèmes. Un microservice expose sa configuration en TOML pour le confort des opérateurs, mais l'API interne échange du JSON. Le convertisseur fait le pont entre les deux mondes.

Si votre besoin est inverse et que vous repartez du JSON, le convertisseur JSON vers TOML effectue la transformation dans l'autre sens, ce qui est pratique pour des allers-retours pendant le débogage.

TOML et JSON : différences structurelles

Comprendre ce qui distingue les deux formats aide à interpréter le résultat. TOML est conçu pour être écrit à la main : commentaires avec #, sections nommées, types de date intégrés et tolérance sur l'ordre des clés. JSON reste minimal et strict, sans commentaires ni dates natives.

Quelques écarts notables :

  1. Dates : TOML connaît 1979-05-27T07:32:00Z comme un vrai type temporel ; JSON le représente par une chaîne de caractères.
  2. Commentaires : présents en TOML, absents de JSON ; ils disparaissent donc du résultat ou sont conservés comme métadonnées quand c'est possible.
  3. Tables en ligne : la syntaxe compacte { a = 1, b = 2 } correspond à un objet JSON classique.
  4. Tableaux de tables : [[serveurs]] répété produit un tableau d'objets.

JSON gagne en universalité ce que TOML offre en lisibilité. Pour comparer avec un format proche, le convertisseur YAML vers JSON illustre une logique équivalente appliquée à YAML, autre langage de configuration courant.

La conversion est-elle fidèle

Dans la grande majorité des cas, la conversion préserve l'intégralité des données : clés, valeurs, hiérarchie et types simples se retrouvent à l'identique côté JSON. Les structures imbriquées, même profondes, conservent leur arborescence exacte.

Quelques différences sont inévitables, car les deux formats n'expriment pas les mêmes choses. Les commentaires TOML n'ont pas d'équivalent natif en JSON et sont donc retirés du résultat. Les dates deviennent des chaînes au format ISO, ce qui reste exploitable mais perd leur typage temporel. L'ordre des clés peut aussi varier, JSON ne garantissant pas un ordre sémantique.

Pour les caractères spéciaux, les accents, emojis et symboles Unicode sont correctement échappés selon la spécification JSON. Une chaîne contenant des guillemets ou des retours à la ligne est traitée sans corruption.

En pratique, 99 % des fichiers de configuration courants se convertissent sans perte significative. Vérifiez toujours le résultat sur vos données réelles, puis copiez le JSON généré pour l'intégrer à votre projet.

Celles que nous répondons le plus souvent.

Comment convertir un fichier TOML en JSON ?

Collez le contenu de votre fichier TOML dans la zone de saisie, puis lancez la conversion. L'outil analyse la syntaxe et affiche immédiatement le JSON correspondant, que vous pouvez copier en un clic. Aucune installation n'est requise, tout se passe dans le navigateur.

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

TOML est pensé pour être lu et écrit par des humains : il accepte les commentaires, les sections nommées et les dates natives. JSON est plus strict et universel, sans commentaires ni type de date. Les deux représentent les mêmes structures de base, ce qui rend la conversion directe pour la plupart des fichiers.

Que se passe-t-il avec les structures imbriquées ou les caractères spéciaux ?

Les tables imbriquées deviennent des objets JSON, et les tableaux de tables [[items]] deviennent des tableaux d'objets, en conservant toute la hiérarchie. Les accents, emojis et symboles Unicode sont échappés selon la spécification JSON, donc aucune donnée n'est corrompue, même avec des chaînes multilignes ou des guillemets.

La conversion est-elle sans perte ?

Pour les données, oui : clés, valeurs et structure sont préservés à l'identique. Les seules exceptions sont les commentaires, absents de JSON, et les dates, transformées en chaînes au format ISO. L'ordre des clés peut aussi différer, car JSON ne garantit pas d'ordre sémantique.

Mes fichiers TOML sont-ils envoyés sur un serveur ?

La conversion s'effectue directement dans votre navigateur. Vos fichiers de configuration ne quittent pas votre machine, ce qui convient même aux données sensibles comme des clés ou des paramètres internes.

Puis-je revenir du JSON vers le TOML ?

Oui, pour l'opération inverse, utilisez le convertisseur JSON vers TOML. Vous pouvez ainsi faire des allers-retours entre les deux formats pendant le débogage. Si vous travaillez beaucoup avec du JSON, le formateur JSON vous aide aussi à indenter et vérifier le résultat.