Convertisseur CSV vers JSON
Transformez un CSV tabulaire en un tableau JSON propre d'objets, directement dans votre navigateur, avec les en-tetes de colonnes mappes aux cles et un resultat copiable et telechargeable.
Ce que fait l'outil
- Ligne d'en-tete mappee aux cles d'objet JSON
- Gere les champs entre guillemets, les virgules integrees et les sauts de ligne
- Copiez ou telechargez le resultat JSON
- S'execute localement, votre CSV ne quitte jamais le navigateur
Convertissez du CSV en JSON entierement dans votre navigateur, sans rien envoyer a un serveur. Cette page prend un export de tableur, de base de donnees, de CRM ou d'analytics et transforme chaque ligne en un objet JSON, afin que vous puissiez alimenter une API, construire un jeu de test, importer dans MongoDB ou un autre magasin NoSQL, ou transmettre les donnees directement a un frontend. La premiere ligne fournit les cles, chaque ligne suivante devient un objet, et le resultat vous appartient : a copier ou a telecharger.
Ce que cette conversion fait reellement (et ce qu'elle NE fait PAS)
Le CSV est un format sans typage : chaque cellule n'est que du texte. JSON possede de vrais types (nombre, booleen, null), donc la decision de qualite la plus importante est l'inference de type, c'est-a-dire de savoir si "42" devient le nombre 42 et si "true" devient un booleen, ou si tout reste une chaine entre guillemets. Les deux comportements sont legitimes. Les identifiants numeriques comme les codes postaux a zero initial, les numeros de telephone et les references produit (SKU) devraient generalement rester des chaines, car les analyser comme des nombres supprime silencieusement les zeros initiaux et corrompt la valeur.
Il n'existe pas de forme JSON unique pour un CSV donne. Quatre sorties sont toutes valides : un tableau d'objets (la plus courante, un objet par ligne), un tableau de tableaux (donnees 2D brutes), un objet indexe par colonne (donnees regroupees par colonne) et JSON Lines / NDJSON (un objet par ligne, ce qu'attendent mongoimport de MongoDB et de nombreux pipelines de streaming). La premiere ligne fournit normalement les cles ; sans ligne d'en-tete, vous ne pouvez produire que des tableaux de tableaux, pas des tableaux d'objets, car il n'y a aucun nom pour mapper les colonnes.
Le convertisseur respecte les cas limites de la RFC 4180 que les decoupeurs naifs cassent : un champ contenant une virgule ou un point-virgule doit etre entre guillemets, un guillemet double integre est echappe en le doublant (""), et un champ entre guillemets peut legalement contenir des sauts de ligne, si bien qu'un decoupage aveugle sur les retours a la ligne dechiquetterait les donnees. Le delimiteur n'est pas toujours une virgule non plus. De nombreux exports et tableurs europeens utilisent des points-virgules (parce que la virgule est leur separateur decimal) et le TSV utilise des tabulations, donc la source doit etre analysee avec le bon separateur, sinon elle s'effondre en une seule colonne malformee.
Ce qu'il NE fait PAS, c'est inventer de la structure. Le JSON imbrique n'est pas natif d'un CSV plat. La notation d'en-tete par point ou par barre oblique (user.name, address/city) et les colonnes indexees sont des conventions auxquelles un convertisseur doit adherer, et des tableaux imbriques arbitraires d'objets ne peuvent generalement pas etre reconstruits a partir d'une table plate sans logique de regroupement explicite. La conversion est sans perte pour la structure mais a perte unidirectionnelle pour l'intention de type : une fois qu'une colonne est entierement constituee de chaines, les types doivent etre devines, et reconvertir le JSON en CSV ne restaurera pas necessairement les guillemets d'origine. Attendez-vous a ce que le JSON soit environ 2 a 5 fois plus volumineux que le CSV source, car chaque ligne repete les noms de cles et ajoute des accolades, des guillemets et des crochets, tandis que le CSV n'ecrit chaque en-tete qu'une seule fois. Le NDJSON est un peu plus petit qu'un tableau formate et bien plus adapte au streaming pour les gros fichiers.
Quand choisir CSV vers JSON plutot que de conserver le CSV
Choisissez CSV vers JSON lorsque le consommateur veut des donnees structurees : un corps de requete d'API, une fixture JavaScript ou de test, un import documentaire ou NoSQL, ou un jeu de donnees fictif. Conservez les donnees en CSV, ou faites le chemin inverse avec JSON vers CSV, lorsque le consommateur est un tableur, un outil de BI ou un humain qui parcourt les lignes. Si vous avez surtout besoin de valider ou de mettre en forme le JSON ensuite, l'etape suivante consiste a parcourir tous les outils texte et donnees.
Comment convertir du CSV en JSON
- Collez votre texte CSV dans la zone de saisie, ou deposez un fichier CSV sur la page. Cette page est verrouillee dans le sens CSV vers JSON, donc le bouton de sens inverse est masque.
- Reglez le commutateur "comporte des en-tetes". Laissez-le active pour que la premiere ligne soit mappee aux cles JSON, ou desactivez-le pour traiter chaque ligne comme des donnees.
- Cliquez sur convertir. Le JSON apparait dans le volet de sortie.
- Copiez le resultat dans votre presse-papiers, ou telechargez-le sous forme de fichier
.json.
Aucun envoi. Tout s'execute sur votre appareil.
La conversion s'execute en Rust compile en WebAssembly, directement dans votre navigateur. Il n'y a aucune requete reseau pendant le traitement : ouvrez l'onglet Reseau des outils de developpement de votre navigateur, ou deconnectez-vous d'Internet, et l'outil fonctionne toujours. Apres le premier chargement de la page, il fonctionne entierement hors ligne. Rien n'est envoye, donc il n'y a aucun fichier temporaire sur un disque tiers et rien a supprimer ensuite, car rien n'a jamais quitte votre machine. C'est important parce qu'un export CSV contient souvent des donnees personnelles de clients (noms, e-mails, adresses), des salaires, un historique de commandes ou un export proprietaire de base de donnees, et c'est exactement le genre de donnees que vous ne devriez jamais coller sur un serveur inconnu. Ici, les octets restent locaux, et de maniere verifiable.
Aucune limite
Aucun plafond de lignes, aucune limite de taille de fichier imposee par un envoi, aucun filigrane, aucune inscription et aucune publicite. Convertissez un petit CSV ou plusieurs gros a la suite, le tout en local.
Questions frequentes
- Comment convertir un fichier CSV en JSON sans l'envoyer a un serveur ?
- Collez le CSV ou deposez le fichier sur cette page et convertissez. Toute l'analyse s'execute en WebAssembly a l'interieur de votre navigateur, donc le fichier est lu en memoire locale et n'est jamais envoye nulle part. Vous pouvez le confirmer dans l'onglet Reseau des outils de developpement, qui n'affiche aucune requete d'envoi pendant la conversion.
- Cela fonctionne-t-il hors ligne sans connexion Internet ?
- Oui. Une fois la page chargee, le moteur Rust-vers-WebAssembly est dans votre navigateur et n'a besoin d'aucun acces reseau supplementaire. Vous pouvez vous deconnecter d'Internet et la conversion CSV vers JSON fonctionne exactement de la meme maniere.
- Mon CSV contenant des donnees clients ou sensibles sera-t-il envoye quelque part ?
- Non. La conversion se deroule entierement sur votre appareil sans aucune requete reseau, donc un CSV contenant des e-mails, des salaires ou des donnees de commande n'est jamais transmis a un serveur. Comme rien n'est envoye, il n'y a pas non plus de fichiers temporaires ni de journaux cote serveur a craindre.
- Comment conserver les nombres en tant que nombres (et les booleens et les valeurs null) plutot qu'en chaines ?
- Cela depend de l'inference de type, la decision de transformer
"42"en nombre42et"true"en booleen plutot que de les garder entre guillemets. Soyez deliberé : les colonnes ressemblant a des identifiants comme les codes postaux a zero initial, les numeros de telephone et les SKU devraient rester des chaines, car les analyser comme des nombres supprime les zeros initiaux et corrompt la valeur. - Comment convertir un CSV en tableau d'objets plutot qu'en JSON Lines (NDJSON) pour MongoDB ?
- Un tableau d'objets enveloppe chaque objet de ligne dans un seul tableau JSON, ce qui est la forme la plus courante pour les API et les frontends. JSON Lines, ou NDJSON, ecrit un objet par ligne sans tableau englobant, ce qu'attendent
mongoimportde MongoDB et de nombreux pipelines de streaming ; c'est aussi legerement plus petit et bien plus adapte au streaming pour les grands jeux de donnees. - La premiere ligne doit-elle etre un en-tete pour que CSV vers JSON fonctionne ?
- Pour un tableau d'objets, oui : la ligne d'en-tete fournit les noms de proprietes auxquels chaque colonne est mappee. Sans ligne d'en-tete, il n'y a aucun nom de cle, donc vous ne pouvez produire qu'un tableau de tableaux (donnees 2D brutes) plutot que des objets nommes. Utilisez le commutateur "comporte des en-tetes" pour indiquer au convertisseur le cas qui s'applique.
- Comment gerer un CSV delimite par des points-virgules ou des tabulations ?
- Le delimiteur n'est pas toujours une virgule. De nombreux exports europeens utilisent des points-virgules parce que la virgule est leur separateur decimal, et les fichiers TSV utilisent des tabulations. La source doit etre analysee avec le delimiteur correspondant, sinon toute la ligne s'effondre en une seule colonne malformee au lieu de champs separes.
- Peut-il gerer correctement les virgules, les guillemets et les sauts de ligne a l'interieur des champs CSV ?
- Oui. L'analyseur suit la RFC 4180, donc un champ contenant une virgule ou un point-virgule est lu a partir des guillemets qui l'entourent, un guillemet double integre echappe par doublement (
"") est de-echappe en un seul guillemet, et un champ entre guillemets peut s'etendre sur plusieurs lignes sans casser la ligne. Le decoupage naif par ligne corrompt exactement ces cas, c'est pourquoi un analyseur correct est important. - Comment creer des objets JSON imbriques a partir de colonnes CSV ?
- Le CSV plat n'a aucune imbrication native, donc une sortie imbriquee repose sur des conventions comme la notation d'en-tete par point ou par barre oblique (
address.cityouaddress/city) ou les colonnes indexees. Des tableaux imbriques arbitraires d'objets ne peuvent generalement pas etre reconstruits a partir d'une table plate sans logique de regroupement explicite, alors planifiez vos en-tetes si vous avez besoin de structure. - Pourquoi mon fichier JSON est-il plus volumineux que le CSV d'origine ?
- JSON est generalement 2 a 5 fois plus volumineux que le CSV source parce que chaque ligne repete les noms de cles et ajoute des accolades, des guillemets et des crochets, alors que le CSV n'ecrit chaque en-tete qu'une seule fois. Si la taille compte pour un grand jeu de donnees, le NDJSON est un peu plus petit qu'un tableau formate et se prete mieux au streaming.
Besoin du sens inverse ? Utilisez JSON vers CSV, ou parcourez tous les outils texte et donnees.