Aller au contenu

Convertisseur TOML en JSON

Convertissez un document de configuration TOML en JSON, directement dans votre navigateur.

Entrée
Sortie

Convertisseur TOML en JSON

Collez un fichier de configuration TOML et récupérez un objet JSON propre et structuré – le format attendu par la plupart des scripts, API et outils de construction. TOML est la valeur par défaut pour Cargo.toml de Rust, pyproject.toml de Python, Hugo et d'innombrables configurations d'applications précisément parce qu'il est facile à lire et à écrire pour les humains, mais au moment où la configuration doit atteindre JavaScript, une étape CI ou un appel REST, JSON est ce que veut le reste de la chaîne d'outils. Ce convertisseur comble cette lacune sans installer d'analyseur ni écrire de script.

L'analyseur couvre les parties de TOML 1.0 que vous rencontrerez réellement dans une configuration réelle : clés nues et entre guillemets, clés en pointillés comme server.host qui construisent des objets imbriqués, chaînes de base avec échappements et leur forme multiligne entre guillemets triples, chaînes littérales pour les chemins qui ne doivent pas être échappés, entiers en décimal, hex, octal ou binaire avec séparateurs de soulignement, flottants comprenant des exposants et inf/nan, booléens, offset et date-heure locale, tableaux s'étendant sur plusieurs lignes avec des virgules de fin, des tableaux en ligne et les en-têtes [table] et [[array of tables]] pour les blocs répétés comme une liste de serveurs ou de dépendances. Les commentaires commençant par # sont supprimés, exactement comme TOML les définit.

Choisissez comment le JSON est indenté (deux espaces, quatre espaces, tabulations ou une seule ligne minifiée à coller ailleurs) et triez éventuellement les clés de chaque objet par ordre alphabétique, ce qui facilite grandement la comparaison de deux versions d'une configuration générée. Si le TOML a un problème de syntaxe, l'outil nomme la ligne exacte et ce qui ne va pas (une chaîne non fermée, un signe égal manquant, une clé en double) au lieu d'échouer silencieusement.

Tout s'exécute localement dans votre navigateur. Rien de ce que vous collez n'est téléchargé nulle part, ce qui est important lorsque la configuration contient des hôtes de base de données, des points de terminaison d'API ou d'autres détails que vous préférez ne pas envoyer à un serveur uniquement pour reformater un fichier.

FAQ

Quelles parties de TOML sont-elles prises en charge ?
Le sous-ensemble pratique 1.0 : clés (nues, entre guillemets, pointés), chaînes de base et littérales comprenant des formes multilignes, des entiers en décimal/hex/octal/binaire, des flottants avec exposants et inf/nan, des booléens, des dates-heures et des dates, des tableaux, des tableaux en ligne, des en-têtes [table] et [[tableau de tables]] et des # commentaires.
Qu’arrive-t-il aux dates et aux dates-heures ?
TOML a des types de date et d'heure réels que JSON n'a pas, ils sont donc conservés exactement tels qu'ils sont écrits - sous forme de chaînes JSON comme "1979-05-27T07:32:00Z" - plutôt que d'être devinés dans autre chose.
Comment les blocs [[array of tables]] sont-ils convertis ?
Chaque en-tête [[name]] ajoute un nouvel objet à un tableau sous cette clé, de sorte que les blocs répétés (une liste de dépendances, de serveurs ou de fruits) deviennent un tableau JSON d'objets dans leur ordre d'apparition.
Que fait-il lorsque le TOML fait une erreur ?
Il indique le numéro de ligne et une brève raison (une chaîne non fermée, un « = » manquant, une clé définie deux fois) au lieu de renvoyer un résultat vide ou partiellement converti.
Mon fichier de configuration est-il téléchargé quelque part ?
Non. La conversion s'exécute entièrement dans votre navigateur et le TOML que vous collez ne quitte jamais votre appareil - sans danger pour les configurations contenant des informations d'identification ou des noms d'hôte internes.