Convertisseur CSV vers JSON

Convertissez du CSV en JSON et du JSON en CSV, avec un aperçu sous forme de tableau.

À propos de cet outil

Collez du CSV pour obtenir un tableau d’objets JSON, ou du JSON pour obtenir du CSV. Le délimiteur est détecté automatiquement (virgule, point-virgule, tabulation ou barre verticale), les champs entre guillemets et les sauts de ligne entre guillemets sont gérés, et les objets JSON imbriqués sont aplatis en noms de colonnes à points.

Mode d’emploi

  1. Collez un CSV exporté d’un tableur ou d’une base de données, ou un tableau JSON d’objets.
  2. Le sens et le délimiteur (virgule, point-virgule, tabulation ou barre verticale) sont détectés automatiquement ; modifiez-les si nécessaire.
  3. Pour le CSV, indiquez si la première ligne est l’en-tête et si les nombres et true/false doivent devenir des valeurs typées.
  4. Vérifiez l’aperçu du tableau, puis copiez le résultat.

Questions

Mon CSV Excel utilise des points-virgules. Est-ce que ça fonctionne ?
Oui. Dans de nombreuses langues européennes, Excel enregistre le CSV avec des points-virgules, et le délimiteur est détecté à partir des données. Vous pouvez aussi le choisir manuellement.
Comment les virgules ou sauts de ligne à l’intérieur d’une valeur sont-ils gérés ?
Les valeurs entre guillemets doubles peuvent contenir le délimiteur et des sauts de ligne, et un guillemet doublé ("") à l’intérieur représente un seul guillemet, comme le définit la RFC 4180.
Que deviennent les objets imbriqués lors de la conversion de JSON en CSV ?
Ils sont aplatis en noms de colonnes à points : {"address": {"city": "Oslo"}} devient ainsi une colonne nommée address.city. Les tableaux sont écrits sous forme de texte JSON dans une seule cellule.
Les zéros initiaux et les numéros de téléphone sont-ils conservés ?
Oui. Seuls les nombres simples deviennent des nombres JSON : les valeurs comme 00123, +48 600 100 200 ou les ID très longs restent du texte. Désactivez Nombres et booléens pour garder toutes les valeurs en texte.
Les fichiers CSV avec des fins de ligne Windows sont-ils pris en charge ?
Oui. Les fins de ligne CRLF, LF et CR seul sont toutes acceptées : un CSV enregistré par Excel sous Windows est donc analysé de la même façon qu’un CSV produit par des outils Linux. Les sauts de ligne à l’intérieur de valeurs entre guillemets font partie de la valeur. Le CSV généré à partir de JSON utilise des fins de ligne LF.
Pourquoi le message indique-t-il qu’un champ entre guillemets n’est jamais fermé ?
Une valeur commence par un guillemet double, mais aucun guillemet fermant ne suit avant la fin de l’entrée : tout ce qui suit deviendrait donc un seul champ. Trouvez la valeur qui commence par " et ajoutez le guillemet fermant manquant, ou supprimez le guillemet ouvrant si la valeur n’était pas censée être entre guillemets.
Peut-on convertir du TSV ou des cellules de tableur copiées en JSON ?
Oui. Copier une plage de cellules dans Excel ou Google Sheets place du texte séparé par des tabulations dans le presse-papiers, et le délimiteur tabulation est détecté automatiquement. Collez-le dans l’entrée pour obtenir du JSON sans enregistrer de fichier au préalable. Les exports TSV des clients de bases de données fonctionnent de la même façon.

Comment convertir un CSV en JSON ?

La conversion de CSV en JSON transforme chaque ligne en objet dont les clés proviennent de la ligne d’en-tête. Sous l’en-tête id,name,active, la ligne 1,Ada Lovelace,true devient {"id": 1, "name": "Ada Lovelace", "active": true}. Avec Nombres et booléens activé, les nombres simples, true, false et null deviennent des valeurs JSON typées. Désactivez-le pour que toutes les valeurs restent des chaînes. L’aperçu en tableau affiche les 50 premières lignes, pour vérifier les colonnes avant de copier.

Quand un fichier CSV n’a pas de ligne d’en-tête, désactivez La première ligne est l’en-tête : les clés deviennent alors column1, column2 et ainsi de suite. Les mêmes noms remplacent les cellules d’en-tête vides. Une ligne qui a moins de champs que l’en-tête reçoit des chaînes vides pour les colonnes manquantes, tandis que les champs en trop au-delà de l’en-tête sont ignorés. Une colonne décalée dans l’aperçu en tableau signifie généralement qu’une valeur sans guillemets contient le délimiteur.

Délimiteurs CSV et Excel

Le CSV n’a pas de délimiteur unique. Excel utilise le séparateur de liste des paramètres régionaux : en Allemagne, en France, en Pologne et dans une grande partie de l’Europe, où la virgule sert de séparateur décimal, les fichiers CSV utilisent des points-virgules. Les exports de bases de données et les outils Unix produisent souvent des valeurs séparées par des tabulations (TSV), et certains systèmes utilisent une barre verticale. Le convertisseur essaie la virgule, le point-virgule, la tabulation et la barre verticale, et choisit celui qui donne le nombre de colonnes le plus régulier sur les premières lignes.

JSON vers CSV écrit des virgules par défaut. Choisissez le point-virgule si le fichier doit s’ouvrir d’un double-clic dans un Excel européen, ou Tabulation pour coller le résultat directement dans des cellules de tableur. Les valeurs contenant le délimiteur, des guillemets ou des sauts de ligne sont automatiquement entourées de guillemets doubles. Si les lettres accentuées s’affichent mal quand Excel ouvre le fichier téléchargé, importez-le avec Données > À partir du texte/CSV et choisissez UTF-8, car Excel peut supposer un encodage plus ancien.

Comment convertir un tableau JSON en CSV ?

JSON vers CSV attend un tableau d’objets, comme les éléments d’une réponse d’API. Chaque objet devient une ligne, et les colonnes sont l’union de toutes les clés, dans l’ordre de leur première apparition. Un objet auquel il manque une clé reçoit une cellule vide, et null devient aussi une cellule vide. Un objet seul produit un CSV d’une ligne, et un tableau de valeurs simples comme [1, 2, 3] produit une colonne unique appelée value.

Beaucoup d’API enveloppent la liste, comme dans {"data": [...], "page": 2}. Convertir cela directement donne une seule ligne, avec toute la liste tassée dans une cellule sous forme de texte JSON. Collez plutôt uniquement le tableau intérieur, et ouvrez d’abord la réponse dans le Formateur JSON si la structure est difficile à lire. Si le CSV est destiné à un import en base de données, vérifiez les noms de colonnes : des noms avec des points comme address.city peuvent devoir être renommés.

Quelque chose ne fonctionne pas, ou un résultat semble faux ? Signaler un problème avec cet outil