🌐 Web et technique
Passez d'un tableau CSV à du JSON, ou l'inverse, avec détection automatique du séparateur et gestion des guillemets.
Le format CSV (Comma-Separated Values) décrit un tableau en texte brut : une ligne par enregistrement, des valeurs séparées par un caractère. Dans les pays francophones, les tableurs exportent souvent avec un point-virgule, car la virgule sert de séparateur décimal. Le JSON, lui, représente des données structurées et s'échange facilement avec les API et les applications web.
Cet outil suit la RFC 4180 : un champ contenant le séparateur, un guillemet ou un saut de ligne est entouré de guillemets, et un guillemet interne est doublé. Le séparateur peut être choisi ou détecté automatiquement parmi la virgule, le point-virgule, la tabulation et la barre verticale. En conversion vers JSON, la première ligne peut servir de noms de champs ; sinon, le résultat est un tableau de tableaux. Les nombres, booléens et valeurs vides peuvent être convertis en vrais types JSON, sauf lorsqu'ils sont entre guillemets.
Dans l'autre sens, un tableau d'objets devient un CSV dont les colonnes sont l'union de toutes les clés rencontrées. Les objets imbriqués sont aplatis avec une notation pointée, par exemple adresse.ville, et les tableaux sont conservés sous forme de texte JSON. Un BOM facultatif aide Excel à reconnaître l'UTF-8 et les accents.
Cochez l'option BOM UTF-8 lors de la conversion vers CSV et choisissez le point-virgule comme séparateur. Excel en version française reconnaît alors correctement les accents et les colonnes.
L'outil essaie les quatre séparateurs sur les premières lignes et retient celui qui donne le même nombre de colonnes sur le plus grand nombre de lignes.
Une valeur entre guillemets est toujours conservée comme texte, de même que les nombres de plus de quinze chiffres, qui perdraient en précision. Décochez la conversion des types pour tout garder en texte.
Les objets sont aplatis en colonnes à notation pointée. Les tableaux sont enregistrés dans une seule cellule sous forme de texte JSON.