Convertir l’INI

Passer d’INI à JSON ou YAML, ou réécrire un JSON plat en INI.

Un fichier à sections et un arbre

L’INI est une suite de lignes key = value, avec des en-têtes [section] facultatifs. Cette page le lit en JSON ou en YAML, ou réécrit un objet JSON peu profond en INI. Les objets imbriqués et les tableaux ne sont pas de l’INI ici. Le YAML d’un document JSON est JSON vers YAML.

Comment s’en servir

  1. Collez de l’INI ou du JSON.
  2. Sens choisit INI vers JSON, INI vers YAML ou JSON vers INI.
  3. Typer les nombres et booléens nus est coché. Un 3306 nu devient un nombre, true un booléen, null null. Une valeur entre guillemets reste une chaîne, donc "3306" reste du texte. Décochez pour garder aussi chaque valeur non citée comme du texte.
  4. Convertir écrit le résultat. Afficher un exemple charge title = Notes, une ligne vide, [db], host = localhost et port = 3306, et met Sens sur INI vers JSON. Tout effacer vide les deux zones. Copier le résultat copie la sortie.

Ce que la conversion garde

Les lignes vides et celles qui commencent par ; ou # sont ignorées. Un nom de section devient un objet. Les clés avant la première section restent au sommet. La même clé dans la même section : la ligne la plus tardive l’emporte. JSON vers INI accepte un objet dont les valeurs sont des chaînes, des nombres, des booléens, null, ou des objets de ces scalaires. Un tableau, ou un objet dans une section, est refusé. JSON vers INI n’ajoute pas de guillemets autour des valeurs. INI vers YAML prend le même objet qu’INI vers JSON, puis écrit du YAML. Pas de lignes continuées, pas d’objets [section.sub].

À quoi ça sert

  • Lire une config dans un script.
  • Passer un fichier de réglages en YAML.
  • Réécrire un objet de réglages plat en INI.

Questions

port est devenu un nombre, il me fallait le texte 3306.

Mettez-le entre guillemets dans l’INI, ou décochez Typer les nombres et booléens nus.

Un tableau a échoué vers l’INI.

Cette page n’écrit qu’un niveau de section. Les tableaux n’ont pas de forme INI ici.