Aller au contenu principal

CSV vs JSON

CSV et JSON sont tous deux largement employés et choisis pour des raisons différentes. Cette page les oppose sur les points qui tranchent entre eux, et renvoie aux convertisseurs dans les deux sens — chacun s'exécutant dans votre navigateur, sans que le fichier soit jamais envoyé.

La réponse courte

Le CSV, ce sont des lignes et des colonnes, rien d'autre. Le JSON, ce sont des valeurs dans des valeurs, à toute profondeur. Si vos données sont vraiment un tableau — un enregistrement par ligne, les mêmes champs à chaque fois — le CSV est plus léger, s'ouvre dans tous les tableurs et se lit par n'importe qui. Dès qu'un enregistrement a besoin d'une liste en son sein, ou d'un objet imbriqué facultatif, le CSV se met à exiger des conventions que le format lui-même ne peut pas faire respecter.

La seconde différence, ce sont les types. Le JSON distingue le nombre 42, la chaîne \"42\" et le booléen true. Le CSV ne connaît que du texte, d'où le zéro initial qui disparaît d'un code postal et le nombre long qui devient une notation scientifique quand un tableur devine mal. Si les valeurs doivent survivre inchangées à un aller-retour, le JSON est celui qui peut le promettre.

En pratique, le choix vous est souvent imposé par ce qui se trouve à l'autre bout. Un tableur veut du CSV, une API veut du JSON, et discuter avec l'un ou l'autre demande plus de travail que de convertir. Là où vous choisissez, la question à poser est de savoir si quelque chose dans les données aura un jour besoin d'une liste dans un enregistrement — car c'est le point où le CSV cesse de suffire.

Côte à côte

CSV et JSON comparés sur les propriétés qui les séparent.
PropriétéCSVJSON
Stocké sous forme deTexte brut, lisible dans n'importe quel éditeurTexte brut, lisible dans n'importe quel éditeur
Ce qu'il peut contenirDes lignes et des colonnesDes valeurs imbriquées dans des valeurs
Les nombres restent des nombresNonOui
CommentairesNonNon
Plusieurs dans un fichierNonNon
Publié19722001

Là où ils diffèrent réellement

  • Ils peuvent exprimer des structures différentes. JSON contient des valeurs dans des valeurs à toute profondeur ; l'autre est en lignes et colonnes, et l'imbrication doit être simulée par des conventions qu'il ne peut pas faire respecter.
  • Seul JSON sait quel genre de valeur il contient. Dans l'autre tout est texte, d'où les zéros initiaux qui s'évaporent et les nombres longs qui deviennent des notations scientifiques.
  • 29 années les séparent, et l'essentiel de ce qui les distingue est ce qui avait été appris entre-temps.

Ce qui se passe mal

  • Convertir vers le format sans types transforme chaque valeur en texte. Les zéros initiaux disparaissent, les nombres longs deviennent des notations scientifiques, et les dates reviennent sous la forme que le programme lecteur devine.

Lequel choisir

Choisissez CSV quand
Prenez le CSV pour des données tabulaires destinées à un tableur, et là où le destinataire peut être une personne plutôt qu'un programme.
Choisissez JSON quand
Prenez le JSON pour tout ce qui est imbriqué, tout ce qui comporte des champs facultatifs et tout ce où un nombre doit rester un nombre.

Convertir de l'un à l'autre

Questions fréquentes

Pourquoi la conversion de CSV en JSON met-elle tous mes nombres entre guillemets ?
Parce que le CSV ne porte pas de types : un convertisseur ne peut donc pas savoir si 007 est un nombre, une chaîne ou une référence produit. Deviner corromprait silencieusement certains fichiers, ce qui est pire que de mettre des guillemets. Là où un convertisseur propose de déduire les types, cette option fait exactement cette devinette, et il vaut mieux vérifier le résultat avant de s'y fier.
Lequel vaut mieux, CSV ou JSON ?
Aucun des deux en général — si l'un était simplement meilleur, l'autre aurait disparu. Ils sont bons à des choses différentes, et la réponse courte ci-dessus dit lequel à quoi. La question utile est de savoir ce que le fichier doit faire ensuite : être retouché, être publié, être ouvert par quelqu'un d'autre, ou tenir dans une limite de taille.
Convertir de l'un à l'autre fait-il perdre quelque chose ?
Cela dépend du sens. Convertir vers un format qui stocke tout ne perd rien mais ne récupère rien non plus ; convertir vers un format qui écarte du détail en perd un peu à chaque fois. Le tableau ci-dessus dit lequel de ces deux fait quoi.
Puis-je reconvertir ensuite ?
Le fichier se reconvertira, mais savoir s'il revient inchangé dépend du sens. Entre deux formats qui stockent tout, l'aller-retour est sans perte. Là où l'un des deux écarte du détail, ce détail a disparu et le retour ne peut pas l'inventer.
Puis-je utiliser les deux ?
Sur une page web, souvent oui, et c'est généralement la bonne réponse : servez le format moderne le plus léger et indiquez-en un plus ancien en repli, pour que chaque navigateur prenne ce qu'il comprend. Pour un fichier que vous remettez à une personne, choisissez-en un — celui qu'elle pourra ouvrir.
Lequel mon logiciel prend-il en charge ?
Le tableau côte à côte ci-dessus indique quels navigateurs lisent chacun, ce qui est la partie qui varie le plus. La prise en charge sur ordinateur est plus difficile à énoncer en général et accuse souvent des années de retard sur les navigateurs : si le fichier part vers quelqu'un d'autre, le plus ancien et le plus largement lu des deux est le choix le plus sûr.
Convertir de l'un à l'autre est-il gratuit ?
Oui, sans compte et sans limite sur le nombre de fichiers convertis. Chaque convertisseur lié depuis cette page s'exécute dans votre navigateur : le fichier est lu depuis votre appareil, converti par du code qui s'y exécute, et rendu en téléchargement.
Mon fichier est-il envoyé ?
Non. Il n'y a ici aucun serveur de conversion vers lequel l'envoyer, et aucun service tiers n'intervient. Vous pouvez le vérifier vous-même : ouvrez les outils de développement de votre navigateur, passez à l'onglet Réseau sans filtre, et lancez une conversion — aucune requête ne transporte votre fichier.

La publicité sur ce site

La publicité finance ce site. Les annonces peuvent stocker des cookies pour choisir ce qu'elles vous montrent et pour éviter de se répéter. Vos fichiers n'y sont pour rien : ils ne quittent jamais votre navigateur, quel que soit le bouton choisi, et chaque outil fonctionne dans les deux cas.

Ce que cela recouvre