Convertir JSON en CSV

Ce convertisseur transforme du JSON ou du JSON Lines en tableau CSV pour Excel ou Google Sheets : il trouve la liste d'enregistrements et aplatit les champs imbriqués en colonnes aux noms pointés. Le fichier est converti dans votre navigateur et n'est jamais envoyé. Les listes d'enregistrements à l'intérieur d'un enregistrement sont écrites en texte JSON dans une seule cellule, et un fichier comportant une erreur de syntaxe JSON ne peut pas être lu.

Un fichier ne s'est pas converti correctement ? Écrivez à [email protected], idéalement avec un petit fichier d'exemple, et ce sera corrigé.

L'essentiel

Pourquoi transformer du JSON en tableau CSV

Les exports d'API web, d'applications, de boutiques en ligne et de systèmes de journalisation arrivent souvent en JSON : parfait pour les programmes, difficile à lire pour les humains. Un tableau CSV s'ouvre dans Excel ou Google Sheets, où vous pouvez trier, filtrer et additionner. Ce convertisseur trouve la liste d'enregistrements dans le fichier, même quand elle se trouve dans une enveloppe comme « data », « results » ou « items », et crée une ligne par enregistrement et une colonne par champ. Les champs imbriqués deviennent des colonnes aux noms pointés : la ville d'une adresse devient address.city. Les listes à l'intérieur d'un enregistrement, comme des étiquettes, sont écrites en texte JSON ou, si vous préférez, sous forme de valeurs séparées par des points-virgules. Les enregistrements n'ont pas besoin d'avoir les mêmes champs : chaque champ présent quelque part devient une colonne, dans l'ordre de sa première apparition, et les valeurs manquantes restent vides. Les fichiers JSON Lines (.jsonl, .ndjson), avec un enregistrement par ligne, fonctionnent aussi, et l'aperçu montre les premières lignes avant le téléchargement.

Comment convertir du JSON en CSV

  1. Déposez votre fichier .json, .jsonl ou .ndjson dans le cadre, ou cliquez pour le choisir.
  2. Vérifiez les colonnes dans l'aperçu et choisissez la présentation des listes et le style de CSV.
  3. Cliquez sur « Convertir en CSV » et téléchargez le fichier.

Ce qui change lors de la conversion

Quelle liste devient le tableau

Si le fichier est une liste, chaque élément devient une ligne. Si c'est un objet, l'outil utilise la plus longue liste d'enregistrements qu'il trouve, jusqu'à deux niveaux de profondeur, et affiche son nom (par exemple « data.items ») dans le résumé. Un objet sans liste de ce type devient une seule ligne.

Données très imbriquées

Les objets imbriqués sont ouverts jusqu'à dix niveaux de profondeur, et chaque valeur reçoit sa propre colonne. Un enregistrement qui contient une liste d'autres enregistrements, comme les lignes d'une commande, est écrit en texte JSON dans une seule cellule, car un tableau plat n'a pas de bonne place pour cela.

JSON non valide

Une virgule ou un guillemet manquant rend tout le fichier illisible. L'outil vous indique où se trouve l'erreur lorsque le navigateur signale une ligne et une colonne. Les fichiers tronqués, par exemple un journal qui était encore en cours d'écriture, en sont une cause fréquente.

Le GeoJSON contient des données cartographiques

Un fichier GeoJSON contient des coordonnées en plus des attributs. Utilisez plutôt l'outil GeoJSON en CSV, qui écrit les coordonnées dans des colonnes X et Y ou en WKT.

À propos des formats

JSON

Le JSON (JavaScript Object Notation) est le format texte qu'utilisent la plupart des API web, des applications et des fichiers de configuration pour leurs données. Les valeurs peuvent être imbriquées : un enregistrement peut contenir un autre enregistrement ou une liste, ce qu'un tableau plat ne permet pas.

  • Les objets contiennent des valeurs nommées, les listes des valeurs ordonnées ; les deux peuvent être imbriqués à n'importe quelle profondeur.
  • Les valeurs sont du texte, des nombres, true/false ou null, si bien qu'un code postal écrit "01500" reste du texte.
  • Le JSON Lines (.jsonl, .ndjson) place un objet JSON sur chaque ligne, une pratique courante dans les journaux et les exports de données.
  • Le texte est toujours en Unicode, normalement en UTF-8.

CSV

Le CSV (comma-separated values, valeurs séparées par des virgules) est un tableau en texte brut : une ligne de texte par ligne du tableau, avec des cellules séparées par une virgule, un point-virgule ou une tabulation. Excel, Google Sheets, Numbers, toutes les bases de données et la plupart des langages de programmation le lisent et l'écrivent, ce qui en fait le moyen habituel de passer un tableau d'un programme à un autre.

  • Il n'existe pas de norme pour le séparateur : Excel utilise une virgule ou un point-virgule selon les paramètres de langue.
  • Chaque valeur est du texte ; c'est le programme qui le lit qui décide si 01500 est un nombre ou un code postal.
  • Il n'y a ni feuilles, ni formules, ni couleurs, ni largeurs de colonnes, seulement les valeurs.
  • L'encodage n'est pas enregistré dans le fichier ; l'UTF-8 est le choix sûr, et Excel a besoin d'un BOM pour le reconnaître.

Questions fréquentes

Mon fichier JSON est-il envoyé ?

Non. Le fichier est lu et converti par votre navigateur, sur votre propre appareil. Les exports d'API contenant des données personnelles ou des jetons d'accès ne quittent jamais votre ordinateur.

Excel affichera-t-il correctement les caractères spéciaux ?

Choisissez l'un des styles Excel. Ils ajoutent une marque d'ordre des octets (BOM), si bien qu'Excel lit le fichier en UTF-8 et affiche correctement les lettres comme é, ç et ü.

Comment true, false et null sont-ils écrits ?

true et false sont écrits avec les mots true et false, et null comme une cellule vide. Les nombres sont écrits tels qu'ils figurent dans le JSON, avec une virgule décimale dans le style Excel en Europe.

Quelle est la taille maximale du fichier ?

Jusqu'à 200 Mo. Le fichier entier est chargé en mémoire : il vaut donc mieux convertir les fichiers de plusieurs millions d'enregistrements sur un ordinateur que sur un téléphone.