Comment utiliser le convertisseur CSV ↔ JSON
- Sélectionnez le sens : CSV → JSON ou JSON → CSV.
- Collez vos données. Pour le CSV, la première ligne est traitée comme la ligne d'en-têtes et le délimiteur est détecté automatiquement.
- Vérifiez la sortie. Activez la conversion de types si vous voulez des nombres et des booléens plutôt que des chaînes.
- Copiez le résultat ou collez-le dans votre code, votre requête d'API ou votre tableur.
Toute l'analyse se fait dans votre navigateur. Les données de votre tableur ne sont ni envoyées ni stockées ailleurs, ce qui rend l'outil sûr pour des listes de clients et des exports internes.
Comment le CSV est converti en JSON
Le CSV (comma-separated values, valeurs séparées par des virgules) est un tableau plat : un enregistrement par ligne, des champs séparés par un délimiteur. Quand une ligne d'en-têtes est présente, chaque en-tête devient une clé et chaque ligne suivante devient un objet JSON. Le fichier entier devient un tableau d'objets :
id,name,city
1,Ada,London
2,Linus,Helsinki
[
{"id": "1", "name": "Ada", "city": "London"},
{"id": "2", "name": "Linus", "city": "Helsinki"}
]
La conversion du JSON vers le CSV fonctionne à l'inverse : le convertisseur rassemble les clés des objets pour former la ligne d'en-têtes, puis écrit une ligne par objet. Les objets auxquels il manque une clé obtiennent une cellule vide.
Détection automatique du délimiteur
Malgré son nom, un fichier « CSV » utilise souvent d'autres séparateurs. Les tableurs dans les pays où la virgule est le séparateur décimal exportent couramment avec des points-virgules, et de nombreux outils de bases de données exportent des valeurs séparées par des tabulations (TSV). Le convertisseur examine les premières lignes et choisit le délimiteur (virgule, point-virgule, tabulation ou barre verticale) qui découpe les lignes en un nombre de colonnes cohérent.
Champs entre guillemets (RFC 4180)
La RFC 4180 est ce qui se rapproche le plus d'un standard pour le CSV. Ses règles clés : un champ contenant le délimiteur, un guillemet double ou un saut de ligne doit être entouré de guillemets doubles, et un guillemet double à l'intérieur d'un champ entre guillemets s'échappe en le doublant.
name,comment
"Smith, John","He said ""hello"""
"Lee","Line one
Line two"
Cela produit deux enregistrements, le premier avec le nom Smith, John et le commentaire He said "hello", et le second avec un commentaire qui contient un vrai saut de ligne.
Pièges courants
Un JSON imbriqué ne rentre pas dans un tableau plat
Le CSV n'a aucune notion d'imbrication. Les objets imbriqués sont généralement aplatis avec la notation pointée, mais les tableaux n'ont pas de représentation unique évidente :
{"id": 1, "address": {"city": "Oslo", "zip": "0150"}, "tags": ["a", "b"]}
id,address.city,address.zip,tags
1,Oslo,0150,"[""a"",""b""]"
Les tableaux sont sérialisés sous forme de texte JSON dans une cellule. Si vos données sont profondément imbriquées, demandez-vous si le CSV est vraiment le bon format cible.
La conversion de types peut détruire des données
Toute valeur CSV est du texte. La conversion automatique de types est pratique, mais elle transforme des codes postaux comme 0150 en 150, des numéros de téléphone en nombres et de longs identifiants en valeurs arrondies (les nombres JavaScript ne sont exacts que jusqu'à 253). Laissez la conversion de types désactivée pour les colonnes d'identifiants.
Marques d'ordre des octets et fins de ligne
Les fichiers enregistrés par Excel en « CSV UTF-8 » commencent par une marque d'ordre des octets (BOM) invisible qui peut se retrouver collée au nom du premier en-tête. La RFC 4180 prévoit des fins de ligne CRLF, mais les fichiers avec seulement LF sont courants et généralement acceptés.
Conseils
- Assurez-vous que les noms d'en-têtes sont uniques ; des en-têtes en double s'écrasent mutuellement en tant que clés JSON.
- Supprimez les espaces après les délimiteurs (
a, b) si votre source en ajoute, sinon ils font partie de la valeur. - Validez le JSON obtenu avec le Formateur et validateur JSON, ou transformez-le en YAML avec le Convertisseur JSON ↔ YAML.
Questions fréquentes
Que se passe-t-il si mon CSV n'a pas de ligne d'en-têtes ?
Sans en-têtes, il n'y a pas de noms de clés naturels. Les convertisseurs produisent alors soit un tableau de tableaux, soit des clés génériques comme column1, column2. Ajouter d'abord une ligne d'en-têtes donne un JSON plus propre.
Pourquoi tous mes nombres sont-ils des chaînes ?
Le CSV stocke tout sous forme de texte : une conversion fidèle conserve donc des chaînes. Activez la conversion de types pour obtenir des nombres, true/false et null, mais soyez prudent avec les valeurs qui n'ont l'air numériques qu'en apparence.
Puis-je convertir un objet JSON au lieu d'un tableau ?
Un fichier CSV représente de nombreuses lignes : l'entrée naturelle est donc un tableau d'objets. Un objet unique devient une seule ligne de données. Si vos enregistrements sont encapsulés dans une propriété comme {"data": [...]}, collez le tableau interne.
Comment ouvrir correctement le CSV dans Excel ?
Utilisez la fonction d'importation de données d'Excel plutôt qu'un double-clic, afin de choisir le délimiteur et l'encodage et de définir les colonnes d'identifiants comme du texte pour conserver les zéros initiaux.
Mis à jour
Commentaires
Connectez-vous pour noter cet outil.
Partagez une astuce, posez une question ou racontez comment l’outil a fonctionné pour vous.
Aucun commentaire pour l’instant. Soyez le premier à raconter votre expérience.