tigtools

Convertisseur JSON en TOML

Collez un objet JSON et obtenez du TOML avec des tables et des tableaux de tables. Les valeurs que TOML ne peut pas représenter sont signalées au lieu d’être modifiées silencieusement.

Fonctionne dans votre navigateur Sans inscription

Convertir TOML en JSON à la place

Mode d’emploi

  1. Collez un objet JSON ou essayez l’exemple.
  2. Activez « Omettre les valeurs null » si votre JSON contient des valeurs null dont vous n’avez pas besoin.
  3. 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.