Comment convertir du JSON en CSV

Collez un tableau JSON et obtenez un tableau délimité à copier ou à télécharger en .csv. L’en-tête rassemble les clés de toutes les lignes, pas seulement celles de la première : chaque ligne peut donc porter des champs différents.

Les valeurs sont mises entre guillemets comme les tableurs l’attendent, les objets imbriqués conservent leur texte JSON au lieu de devenir [object Object], et rien n’est envoyé : la conversion se fait dans la page.

  1. Collez un tableau JSON d’objets dans la zone de texte.
  2. Cliquez sur Convertir en CSV. L’en-tête liste toutes les clés présentes dans au moins une ligne, dans leur ordre de première apparition.
  3. Laissez le champ délimiteur vide pour des virgules, ou saisissez un point-virgule, une barre verticale ou \t pour une tabulation.
  4. Copiez le résultat ou téléchargez-le sous le nom kivtools-json-to-csv.csv.

Ce que fait le convertisseur

Comment les colonnes sont construites

L’ensemble des colonnes est l’union des clés de premier niveau de toutes les lignes, dans leur ordre d’apparition : si une clé manque à une ligne, la cellule reste vide. Un objet JSON seul compte pour une ligne, et un tableau de tableaux est écrit sans ligne d’en-tête.

Pour [{"a":1},{"a":2,"b":9}] l’en-tête est a,b : la première ligne donne "1,", la seconde "2,9". L’ordre des champs dans chaque objet n’importe pas, car les clés sont associées par leur nom : {"a":1,"b":2} et {"b":3,"a":4} donnent 1,2 puis 4,3.

Les valeurs à mettre entre guillemets

Une cellule est entourée de guillemets lorsqu’elle contient le délimiteur actif, un guillemet ou un saut de ligne, et les guillemets internes sont doublés — la règle suivie par les tableurs. "Smith, John" devient ""Smith, John"", et une valeur contenant un saut de ligne reste une seule cellule au lieu de couper l’enregistrement.

Les nombres et true/false restent tels quels ; null et les clés absentes deviennent des cellules vides. Les objets et tableaux sont écrits en JSON compact, les données imbriquées survivent donc au lieu de devenir [object Object].

Choisir le délimiteur

Le champ est vide par défaut et la virgule est utilisée. Saisissez \t pour une tabulation ou un autre caractère ; le point-virgule est courant là où la virgule sert de séparateur décimal. Les guillemets suivent le délimiteur actif.

Les tableurs lisent les CSV avec virgule ou point-virgule ; le fichier téléchargé commence par une marque d’ordre des octets UTF-8 pour qu’Excel affiche correctement les accents et les caractères CJK.

Erreurs et limites

Un JSON invalide, un tableau vide ou des lignes qui ne sont ni des objets ni des tableaux affichent un message court et effacent le résultat précédent : aucune table obsolète ne reste à l’écran. Seuls les tableaux JSON sont convertis ; le téléchargement ne produit pas de classeur XLSX.

Un tableau de 5 000 lignes (environ 300 Ko de JSON) est converti en une seconde environ dans Chrome et produit un fichier de 130 Ko, sans aucune requête réseau.

Outils récents :