Convertisseur CSV vers JSON
Convertit un fichier CSV en tableau JSON d'objets. Choisissez le délimiteur et si la première ligne est un en-tête, puis copiez ou téléchargez le résultat. Tout se passe dans votre navigateur ; rien n'est envoyé à un serveur.
| Délimiteur |
|
|---|---|
| Utiliser la première ligne comme en-tête | |
| Affichage formaté (avec indentation) |
Saisissez du CSV pour voir le résultat JSON ici.
Comment une ligne CSV devient un objet JSON
| Une ligne CSV | name,age,city |
|---|---|
| L'objet JSON obtenu | {"name": "...", "age": "...", "city": "..."} |
Lorsque la première ligne est utilisée comme en-tête, chaque ligne suivante devient un objet dont les clés sont les noms de colonnes de l'en-tête.
En quoi consiste la conversion de CSV en JSON
Convertir du CSV en JSON, c'est transformer des données séparées par des virgules en un tableau JSON – un tableau d'objets – qu'un programme peut exploiter directement. L'analyseur suit la RFC 4180 : il gère donc les virgules, les sauts de ligne et les guillemets échappés ("") qui figurent à l'intérieur de cellules encadrées de guillemets doubles. Même les fichiers CSV les plus retors issus d'Excel sont ainsi convertis sans se disloquer.
Lors de la conversion, la première ligne est traitée comme ligne d'en-tête et chaque ligne à partir de la deuxième devient un objet de la forme « nom de colonne : valeur ». Tout est réalisé par le JavaScript de votre navigateur : le CSV que vous collez n'est jamais envoyé à un serveur.
Comment convertir du CSV en JSON
- Saisir le CSV Collez le CSV dans la zone de texte ou tapez-le directement. Si vous n'avez pas de données sous la main, le bouton d'exemple charge un échantillon.
- Choisir le séparateur Indiquez au moyen du réglage si vos données utilisent la virgule ou la tabulation. Choisissez la tabulation pour un fichier TSV.
- Régler le sort de la ligne d'en-tête Activez l'option correspondante et les valeurs de la première ligne deviendront les noms de clés des objets JSON.
- Choisir la mise en forme Le commutateur d'affichage indenté permet de passer d'un JSON lisible avec indentation à un JSON compact débarrassé des espaces.
- Copier le résultat Le JSON converti s'affiche automatiquement à l'écran. Le bouton de copie le place dans le presse-papiers, prêt à l'emploi tel quel.
Astuces pour en tirer le meilleur parti
- Avec « Utiliser la première ligne comme en-tête » activé, les valeurs de la première ligne deviennent les clés de l'objet JSON. Désactivez cette option pour obtenir des clés génériques col1, col2, etc.
- Si l'en-tête contient des noms de colonne vides ou dupliqués, cette colonne bascule automatiquement sur une clé col{N} afin qu'aucune valeur ne soit perdue.
- Associez cet outil à son outil jumeau « JSON vers CSV » pour convertir entre CSV et JSON autant de fois que nécessaire.
- La conversion utilise un analyseur conforme à la RFC 4180 qui gère correctement les virgules, les retours à la ligne et les guillemets échappés ("") à l'intérieur des cellules entre guillemets ; les fichiers CSV complexes exportés depuis Excel se convertissent donc correctement eux aussi.
Quand la conversion de CSV en JSON rend service
Constituer des données de test pour une interface
Prenez un CSV exporté d'un tableur et faites-en rapidement la charge utile JSON nécessaire pour vérifier le bon fonctionnement d'une interface.
Préparer des données pour une base NoSQL
Les bases orientées documents telles que MongoDB manipulent du JSON : une liste bâtie dans un tableur se convertit donc directement en données prêtes à être chargées.
Créer des données factices pour le front-end
Préparez en un tournemain le tableau JSON destiné aux affichages de démonstration et aux tests, à partir d'une liste montée dans Excel.
Une conversion ponctuelle sans écrire de script
C'est tout aussi commode pour une petite conversion unique de CSV en JSON qui ne justifie guère d'écrire du code sur-le-champ.
Le vocabulaire employé ici
- CSV
- Abréviation de Comma-Separated Values, un format qui représente des données tabulaires en séparant les valeurs par des virgules. Il est très employé pour la lecture et l'écriture dans les tableurs.
- JSON
- Abréviation de JavaScript Object Notation, un format léger qui représente les données principalement par des couples clé-valeur. La plupart des langages de programmation et des interfaces le manipulent d'emblée.
- TSV
- Abréviation de Tab-Separated Values, un format qui représente des données tabulaires en séparant les valeurs par des tabulations. Quand les valeurs contiennent elles-mêmes des virgules, les limites restent moins ambiguës qu'en CSV.
- RFC 4180
- La spécification qui fixe le format courant d'un fichier CSV. Elle définit le traitement des virgules, des sauts de ligne et des guillemets à l'intérieur des cellules encadrées de guillemets doubles.
- Ligne d'en-tête
- La ligne placée en tête d'un CSV, qui donne le nom de chaque colonne. Lors de la conversion en JSON, ses valeurs deviennent les noms de clés des objets.
- Échappement
- Lorsqu'on veut qu'un guillemet double fasse lui-même partie d'une valeur du CSV, on l'écrit en double (""). L'analyseur en rétablit un guillemet simple unique.
Questions fréquentes
Anecdote — pourquoi les API préfèrent JSON au CSV
Le CSV représente très bien des données tabulaires plates, mais il ne peut pas exprimer de structures imbriquées comme des tableaux ou des objets emboîtés. La plupart des réponses d'API REST utilisent JSON précisément parce qu'un seul enregistrement peut librement contenir des tableaux et des objets, permettant de transmettre intactes des structures de données complexes que le CSV ne peut simplement pas exprimer.
Le CSV conserve malgré tout des avantages difficiles à abandonner : il s'ouvre instantanément dans Excel ou un tableur, et une ligne par enregistrement facilite la vérification visuelle. En pratique, les équipes adoptent souvent la répartition « CSV pour les rapports et les vérifications ponctuelles, JSON pour l'intégration entre systèmes », ce qui explique pourquoi un convertisseur comme celui-ci reste utile.
Malgré son nom — JavaScript Object Notation —, JSON est aujourd'hui pris en charge comme format de données standard dans pratiquement tous les langages, pas seulement en JavaScript. Depuis que Douglas Crockford a publié la spécification en 2001, elle a été délibérément conçue comme une représentation minimale des données, indépendante de tout langage — ce qui explique en grande partie sa diffusion aussi large.