Mode d’emploi
- Collez un objet JSON ou essayez l’exemple.
- Activez « Omettre les valeurs null » si votre JSON contient des valeurs null dont vous n’avez pas besoin.
- Copiez le TOML ou téléchargez-le sous forme de fichier .toml.
Fonctionnement
Le JSON est analysé strictement, puis écrit en TOML 1.0 avec la bibliothèque open-source smol-toml. Les objets imbriqués deviennent des [tables], les tableaux d’objets deviennent des [[arrays of tables]] et les clés qui ne sont pas des mots simples sont mises entre guillemets.
TOML ne peut pas exprimer tout ce que JSON peut exprimer. La racine du document doit être une table : un tableau JSON ou une valeur unique sont donc rejetés. Il n’y a pas de null en TOML : par défaut, le premier null est signalé avec son chemin ; vous pouvez choisir d’omettre à la place les membres d’objet null. Un null dans un tableau est toujours une erreur, car le supprimer modifierait la position des autres éléments. Les tableaux qui mélangent des types (par exemple des nombres et des chaînes) sont valides en TOML 1.0 mais pas dans l’ancienne version 0.5 ; ils sont donc comptés dans une note.
JSON ne distingue pas 1 de 1.0, les nombres entiers sont donc écrits comme des entiers TOML. Les chaînes qui ressemblent à des dates restent des chaînes. La conversion inverse est TOML vers JSON.
Exemples
Paramètres de l’application
{"server": {"host": "0.0.0.0", "port": 8080}} devient une table [server] avec les clés host et port.
Liste des workers
"workers": [{"queue": "mail"}, {"queue": "images"}] devient deux blocs [[workers]].
Foire aux questions
Pourquoi null n’est-il pas autorisé ?
TOML n’a pas de valeur null. Omettez la clé ou utilisez une valeur telle qu’une chaîne vide, selon ce que le programme qui lit les données attend.
Pourquoi un tableau de nombres et de chaînes affiche-t-il une note ?
Les tableaux de types mixtes sont autorisés depuis TOML 1.0, mais les outils qui implémentent TOML 0.5 les rejettent. La note est utile si votre outil cible est plus ancien.
1.0 restera-t-il un nombre à virgule flottante ?
Non. JSON stocke 1.0 et 1 comme le même nombre, qui devient donc l’entier 1. Écrivez 1.5 ou modifiez le TOML si le programme qui lit les données a besoin d’un nombre à virgule flottante.
Confidentialité
La conversion s’exécute entièrement dans votre navigateur. Votre JSON et votre TOML ne sont ni envoyés ni stockés.