Convertir JSON en TOML
Transformez un objet JSON en TOML, le format de Cargo.toml et pyproject.toml ; un champ null est signalé avec son chemin
Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.
Cet outil a-t-il fait le travail ?
Merci, votre retour nous est bien parvenu.
Comment ça marche
Le TOML est le format de configuration que l'on lit et modifie à la main dans le Cargo.toml de Rust, le pyproject.toml de Python ou les réglages d'outils comme Hugo et Netlify. Si vos réglages existent en JSON (produits par un script ou renvoyés par une API), collez-les dans le panneau de gauche ; avec le sens « JSON → TOML », le TOML apparaît à droite. Dans l'exemple, l'objet « package » devient la table [package] ; dans « dependencies », la valeur simple reqwest = "0.12" est écrite d'abord et l'objet imbriqué « serde » reçoit l'en-tête [dependencies.serde] ; les objets du tableau « bin » s'enchaînent sous [[bin]]. Comme le TOML n'a pas de valeur null, un champ null n'est pas supprimé en silence : l'outil s'arrête et donne son chemin (par exemple « package.license »). La racine du JSON ne peut pas non plus être un tableau, car un document TOML est toujours une table ; placez d'abord le tableau sous une clé. Avec le sens « TOML → JSON », la même page travaille à l'envers et signale un TOML fautif par ligne et colonne.
Cet outil est aussi connu sous le nom de convertir json en toml, json en toml, json to toml, convertisseur json toml.
Qu'est-ce que TOML ?
Le TOML (Tom's Obvious, Minimal Language) est un format texte conçu pour les fichiers de configuration : les lignes suivent le modèle clé = valeur, les en-têtes [section] regroupent les réglages et # ouvre un commentaire. Il connaît les chaînes, entiers, décimaux, booléens, dates-heures, tableaux et tables, mais aucun type null. La version 1.0 est sortie en 2021 ; Cargo.toml et pyproject.toml en sont les usages les plus connus.
Qu'est-ce que Table et tableau de tables TOML ?
En TOML, un en-tête [table] regroupe les clés qui suivent dans un objet, l'équivalent d'un objet JSON imbriqué ; [a.b] descend d'un niveau. Un en-tête [[table]] ajoute un nouvel objet à une liste à chaque apparition : c'est un tableau d'objets JSON. Les objets courts peuvent aussi s'écrire sur une ligne, { cle = valeur } ; une telle table en ligne ne peut plus être complétée ailleurs.
Quelle différence entre TOML et JSON ?
Les deux portent les mêmes structures (objets, tableaux, chaînes, nombres), mais pour des usages différents. Le JSON sert aux échanges entre machines : syntaxe stricte, pas de commentaires, et une valeur null. Le TOML sert aux configurations modifiées à la main : commentaires permis, en-têtes [section] qui se lisent comme une liste plate, type propre pour les dates-heures, pas de null. D'où la décision à prendre sur les null dans le sens JSON → TOML, et les dates devenues chaînes dans le sens TOML → JSON.
Pièges : null, types de nombres et ordre des clés
Un null JSON n'a pas d'équivalent en TOML. Beaucoup de convertisseurs effacent le champ sans rien dire, et l'on ne remarque le réglage manquant que lorsque le programme se comporte autrement. Cet outil indique le chemin du premier null et combien d'autres il y en a ; à vous de décider s'il faut supprimer le champ ou lui donner une chaîne vide "" ou false.
Le JSON ne distingue pas entiers et décimaux, le TOML si : une valeur écrite 2.0 en JSON est lue par JavaScript comme 2, et le TOML reçoit donc l'entier 2. Gardez les numéros de version en chaîne ("1.0"). Selon les règles du TOML, les clés simples sont écrites avant les tables : l'ordre peut différer du JSON sans que le sens change. Les entiers au-delà de 2^53 peuvent être arrondis à la lecture du JSON ; l'outil prévient alors dans la note.
Quand choisir TOML, quand choisir JSON
Le TOML a été conçu pour les fichiers de configuration qu'on modifie à la main : les commentaires # sont permis, les clés sans guillemets et les en-têtes [section] gardent un long fichier lisible. Cargo, Poetry, uv, Ruff, Black et Hugo lisent leurs réglages en TOML. Le JSON convient mieux aux échanges entre programmes : il ne porte pas de commentaires, mais chaque langage a son lecteur tout prêt.
Utilisez JSON → TOML quand un script produit des réglages destinés à Cargo.toml ou pyproject.toml. Pour passer un fichier TOML à JavaScript, à jq ou à une API, changez le sens ; une page séparée est consacrée à la conversion de TOML en JSON et à sa validation.
Questions fréquentes
Comment convertir du JSON en TOML ?
Collez l'objet JSON dans le panneau de gauche de cette page et laissez le sens sur « JSON → TOML ». Les objets imbriqués deviennent des en-têtes [table], les tableaux d'objets des en-têtes [[table]]. Copiez le résultat ou téléchargez-le en .toml.
Que signifie l'erreur « TOML n'a pas de valeur null » ?
Le format TOML ne définit pas de valeur vide (null). Votre JSON contient un champ qui vaut null, et au lieu de le supprimer en silence, l'outil vous le montre. Supprimez le champ indiqué ou donnez-lui une valeur (chaîne vide "", 0 ou false), puis réessayez.
Pourquoi un JSON dont la racine est un tableau ne passe-t-il pas en TOML ?
Un document TOML est toujours une table faite de paires clé = valeur ; une liste sans nom ne peut pas se trouver au sommet. Placez le tableau sous une clé, par exemple {"elements": [ ... ]} ; chaque enregistrement est alors écrit sous un en-tête [[elements]].
Mes données sont-elles envoyées à un serveur ?
Non. La conversion se fait entièrement dans votre navigateur avec une bibliothèque TOML libre intégrée à la page ; même un fichier de configuration contenant des mots de passe ou des clés d'accès ne quitte pas cette page. Une fois chargée, la page fonctionne aussi hors connexion.