Convertir JSON en CSV : aplatir un tableau d’objets
Un tableau JSON d’objets se mappe à une table CSV — une ligne par objet, colonnes issues de l’union des clés. Le vrai travail consiste à gérer le quoting et les valeurs imbriquées.
La forme « tableau d’objets »
CSV est un tableau plat, donc le JSON qui se convertit proprement est un tableau d’objets : chaque objet devient une ligne et chaque clé une colonne.
Construire l’en-tête
Utilisez l’union des clés de tous les objets comme en-tête, pas seulement celles du premier, pour que les enregistrements avec des clés en plus ou en moins restent alignés. Les cellules manquantes restent vides.
Règles de mise entre guillemets
Toute valeur contenant une virgule, un guillemet double ou un saut de ligne doit être entourée de guillemets doubles, et les guillemets internes doublés, sinon les colonnes se désalignent.
Valeurs imbriquées
Objets et tableaux n’ont pas de forme plate en CSV : écrivez-les comme texte JSON dans la cellule (réversible) ou aplatissez-les en colonnes pointées comme address.city.
Ordre d’en-tête et stabilité
Triez l’union des clés ou figez l’ordre à celui du premier enregistrement avec les extras ajoutés à la fin. Un ordre d’en-tête stable rend les diffs entre exports utiles et évite de réorganiser les colonnes à chaque exécution.
Format des dates et nombres
Les tableurs réinterprètent les valeurs avec zèle : les ID numériques longs perdent en précision, les dates ISO sont reformatées, les zéros de tête disparaissent. Si une valeur doit faire un aller-retour à l’identique, entourez-la de guillemets et préfixez-la d’une apostrophe lors d’un collage dans Excel.
Compatibilité Excel et Google Sheets
Utilisez des fins de ligne CRLF et un BOM (UTF-8 avec byte-order mark) pour qu’Excel détecte l’Unicode. Pour Google Sheets, le BOM est optionnel, mais les virgules comme séparateurs et l’échappement par guillemets doubles s’appliquent toujours.
Du CSV vers le JSON
Découpez les lignes avec un split conscient des guillemets (ne faites pas un split naïf sur les virgules), utilisez la première ligne comme noms de colonnes et essayez par colonne de coercer en nombres, booléens et dates ISO. Le va-et-vient avec cet outil garde les chaînes telles quelles sauf si toute la colonne est numérique.
Pièges courants
Voici les problèmes qui cassent la plupart des exports CSV.
- Virgules non échappées à l’intérieur des valeurs de chaîne
- Sauts de ligne dans des cellules sans guillemets autour
- Encodages mélangés (UTF-8 vs Latin-1) produisant du mojibake
- Grands entiers (IDs) silencieusement tronqués par les tableurs
- Booléens stockés comme chaînes "true"/"false" au lieu de TRUE/FALSE
Guides de réparation JSON
Pôles thématiques
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guides spécifiques
- Comment décoder des chaînes Base64 (et des payloads JWT)
- Encodage URL : encodez les paramètres de requête et les chemins
- Convertir YAML en JSON (et éviter les erreurs d’indentation)
- Convertir JSON en XML : racine, attributs et tableaux
- Échapper du JSON comme littéral de chaîne (et décoder du JSON doublement encodé)
- Corriger les virgules finales en JSON
- Corriger les guillemets simples en JSON
- Corriger les clés sans guillemets en JSON
- Réparer le JSON produit par un LLM
- Corriger l’erreur de parse JSON : Expected Property Name
- JSON vs littéral d’objet JavaScript
- Validez le JSON avant les requêtes API
- Formateur JSON vs JSON Repair
- Corriger les erreurs JSON Unexpected Token
- Convertisseur JSON vers objet JavaScript