Convertissez des documents JSON en TOML avec une indentation configurable et des options d'affichage pretty-print.
Convertissez des documents JSON en TOML avec une indentation configurable et des options d'affichage pretty-print. Convertissez des documents JSON en TOML avec une indentation configurable et des options d'affichage pretty-print.
Sortie
Contexte
Pourquoi convertir du JSON en TOML
Le JSON est partout sur le réseau, mais le TOML est le format utilisé par la plupart des fichiers de configuration modernes (Cargo, pyproject.toml, GitHub Actions, uv, et bien d'autres). Quand vous copiez un extrait JSON d'une API dans un fichier de configuration, vous devez généralement traduire la syntaxe à la main : les accolades deviennent des sections, les crochets des tableaux, les virgules des sauts de ligne, et les clés quotées deviennent des clés nues.
Un convertisseur automatise cette traduction : vous collez la réponse de l'API, copiez la sortie TOML, et c'est terminé.
Fonctionnalités utiles à connaître
La plupart des convertisseurs préservent l'ordre des objets JSON par défaut. TOML permet de réordonner les sections, aussi une option « trier les clés » aide quand vous voulez un diff stable entre deux exécutions. Le contrôle de l'indentation vous permet de respecter le guide de style du projet (deux ou quatre espaces).
Pour les tableaux de tables en TOML, le convertisseur émet la forme en ligne key = [ ... ] quand le tableau JSON contient un seul objet uniforme, et une forme d'en-tête [[section]] pour les listes mélangeant les types ou répétant le même schéma. C'est le seul cas où la conversion n'est pas entièrement mécanique.
Conseils de workflow
Avant de valider le TOML, vérifiez que les clés utilisées en JSON sont des clés nues TOML légales (pas d'espaces, pas de chiffre en tête, pas de tiret au début). Le convertisseur conserve les noms à l'identique ; il ne les renomme pas. Après conversion, collez dans votre éditeur et lancez le linter de votre projet pour repérer tout problème de style que le convertisseur ignore.
Exemple pratique
Imaginez une réponse d'API qui liste les drapeaux de fonctionnalités de votre projet et que vous voulez coller directement dans un bloc pyproject.toml. Le JSON ressemble à { "name": "beetools", "features": ["json", "toml"] }. Après conversion, le TOML donne name = "beetools" et features = ["json", "toml"], et vous pouvez l'insérer dans [tool.beetools] sans autre manipulation. Les tableaux de tables ([[items]]) proviennent de tableaux JSON dont les éléments sont des objets à clés identiques ; le convertisseur détecte la forme homogène et émet la forme multi-lignes automatiquement. Si vous voyez une sortie aplatie à la place, l'entrée mélangeait les types — séparez la source manuellement et relancez.
Foire aux questions
Le convertisseur prend-il en charge les objets imbriqués ?
Oui. Les objets JSON imbriqués deviennent des tables TOML imbriquées. Le convertisseur préserve la profondeur, et un imbriquement très profond se développe en en-têtes `[[section.sub]]` en conséquence.
Et les tableaux de primitives ?
Les tableaux de primitives (nombres, chaînes, booléens) deviennent des tableaux en ligne TOML. Les tableaux de types mixtes sont rejetés par l'analyseur sous-jacent car TOML exige des tableaux homogènes.
Les valeurs JSON null sont-elles préservées ?
TOML n'a pas de littéral null. Le convertisseur supprime les valeurs `null` et émet un avertissement ; si vous devez consigner une absence, passez à une chaîne vide ou une valeur sentinelle avant la conversion.
Pourquoi la sortie manque-t-elle les commentaires du JSON d'origine ?
JSON ne prend pas en charge les commentaires. Si vous avez besoin de commentaires dans le TOML, ajoutez-les à la main après la conversion.
Le convertisseur change-t-il l'ordre des clés ?
Non. Par défaut, les clés sont émises dans l'ordre JSON. Activez l'option de tri si vous voulez une disposition stable, alphabétique, pour le diff.
Mon JSON est-il envoyé quelque part ?
Non. La conversion se fait entièrement dans votre navigateur via JSON.parse natif et la bibliothèque smol-toml fournie.