Convertisseur CSV ↔ JSON — types, séparateur, local
Convertissez CSV en JSON ou JSON en CSV dans votre navigateur. Étapes : choisissez le sens, collez ou importez, réglez le séparateur et l’en-tête, puis copiez ou téléchargez. Gère les champs entre guillemets avec virgules, points-virgules et tabulations ; de JSON vers CSV, les objets imbriqués sont aplatis en colonnes. Exemple : transformez une feuille produits (sku, titre, prix) en tableau JSON — les données restent locales.
Comment ça marche
Choisissez CSV → JSON ou JSON → CSV ; l’analyse et la génération se font ici avec Papa Parse. En CSV, choisissez le séparateur (ou détection auto), si la première ligne est un en-tête et si les nombres/booléens sont inférés. En JSON, les objets imbriqués deviennent des colonnes en chemin pointé et les colonnes sont l’union de toutes les clés.
Règles à prévoir
À quoi s’attendre lors de la conversion : comment les types de cellule sont traités, quels séparateurs et guillemets s’appliquent, et comment le JSON imbriqué correspond aux colonnes.
- Types : les cellules CSV sont du texte par défaut. Activez « Inférer les types » pour des nombres/booléens, mais 007 devient 7 et les longues suites de chiffres peuvent perdre en précision ; laissez désactivé pour SKU, codes postaux et téléphones.
- Séparateurs : virgule, point-virgule (fréquent dans Excel européen) et tabulation (TSV) ; la détection auto devine d’après le texte. Les champs contenant le séparateur, des guillemets ou des sauts de ligne sont entourés de guillemets doubles selon la RFC 4180.
- JSON → CSV : les objets sont aplatis en chemins pointés (dim.w, dim.h) ; les tableaux deviennent une chaîne JSON dans une cellule ; les colonnes sont l’union de toutes les clés, les valeurs manquantes restent vides.
- Confidentialité : votre texte et vos fichiers ne sont pas envoyés. Charger Papa Parse depuis un CDN ne télécharge que le code de la bibliothèque, pas vos données.
Exemple
Le CSV `sku,title,price` avec la ligne `A-001,"Chair, oak",129.9` devient JSON `{"sku":"A-001","title":"Chair, oak","price":"129.9"}` (sans types, price reste du texte ; activez-les pour le nombre 129.9). Inversement : `[{"sku":"A-001","dim":{"w":40,"h":90}}]` génère l’en-tête `sku,dim.w,dim.h` avec la ligne `A-001,40,90`.
Bons cas
- E-commerce : transformez une feuille produits exportée (sku, titre, prix) en tableau JSON pour l’API d’une boutique ou d’une marketplace.
- Développeurs : reformatez une réponse JSON en CSV pour tableur, rapprochement ou livraison.
- Data/ops : passez un CSV de rapports ou d’événements (virgule, point-virgule ou TSV) en JSON pour un pipeline, virgules et sauts de ligne bien échappés.
Frequently asked questions
Le point-virgule ou la tabulation sont-ils gérés, pas seulement la virgule ?
Oui. Choisissez virgule, point-virgule ou tabulation, ou laissez la détection auto : Papa Parse devine d’après le texte. Le point-virgule est fréquent dans les exports Excel européens ; la tabulation correspond au TSV.
Mes nombres, zéros initiaux et identifiants restent-ils intacts ?
Par défaut chaque cellule reste du texte, donc 007 et les identifiants longs sont préservés. Avec « Inférer les types », les valeurs numériques deviennent des nombres : 007 devient 7 et les très longues suites de chiffres peuvent perdre en précision. Laissez désactivé pour SKU, codes postaux et téléphones.
Comment sont gérés les champs avec virgules, guillemets ou sauts de ligne ?
Ils sont entourés de guillemets doubles et les guillemets internes sont doublés, selon la RFC 4180. Un titre comme Chair, oak reste ainsi dans un seul champ au lieu d’être coupé en deux colonnes.
Comment le JSON imbriqué devient-il des colonnes CSV ?
Les objets sont aplatis en colonnes à chemin pointé (dim.w, dim.h). Les tableaux deviennent une chaîne JSON dans une seule cellule. Les colonnes sont l’union des clés de tous les enregistrements et les valeurs manquantes restent vides.
Mes données quittent-elles le navigateur ?
Non. L’analyse reste dans cet onglet et les fichiers choisis sont lus en local. Un CDN peut servir Papa Parse ; cette requête ne télécharge que du code, elle n’envoie pas votre CSV ni votre JSON.