À propos de cet outil
CSV (valeurs séparées par des virgules) et JSON (JavaScript Object Notation) sont tous deux des formats d'échange de données omniprésents, mais ils décrivent les données différemment. CSV is flat and tabular: a header row defines field names, and each subsequent row holds one record's values. JSON is hierarchical: data is structured as objects (key-value pairs) and arrays, supporting nesting and richer types. Convertir CSV en JSON signifie généralement transformer chaque ligne CSV en un objet JSON dont les clés proviennent de la ligne d'en-tête et dont les valeurs sont les cellules de la ligne.
Ce convertisseur analyse le CSV à l'aide de PapaParse, la bibliothèque CSV la plus fiable de l'écosystème JavaScript. PapaParse gère les bizarreries qui rendent le CSV trompeusement difficile : les champs entre guillemets contenant des virgules, les guillemets échappés à l'intérieur des champs entre guillemets, les fins de lignes mixtes, les marqueurs de nomenclature facultatifs et les champs contenant des nouvelles lignes. La sortie est structurée en JSON, formatée par défaut avec une indentation à deux espaces pour plus de lisibilité.
Deux formats de sortie sont pris en charge. Le tableau d'objets (valeur par défaut) produit [{header1 : value1, header2 : value2}, ...], la forme JSON la plus courante pour les données tabulaires. Un tableau de tableaux produit [[header1, header2], [value1, value2], ...], en préservant l'ordre des colonnes sans utiliser les noms d'en-tête comme clés.
Pourquoi convertir CSV en JSON
La plupart des API et applications modernes parlent JSON. Le chargement de données à partir d'un export CSV (un rapport de ventes, une liste de contacts, un extrait de base de données) dans une application JavaScript, une API REST ou une base de données NoSQL nécessite généralement de passer par JSON au préalable. La conversion est également la première étape de nombreuses transformations de données, puisque JSON est plus facile à manipuler par programme que CSV.
La structure de JSON débloque également des fonctionnalités que CSV ne peut pas représenter. Les objets avec des propriétés imbriquées, des tableaux de longueur variable par enregistrement et des informations de type explicites (chaînes par rapport aux nombres par rapport aux booléens) deviennent tous disponibles une fois que les données sont au format JSON. Des alternatives CSV comme TSV existent mais partagent la même limitation de planéité.
Détails techniques
PapaParse implémente la RFC 4180 (la spécification CSV) ainsi que des extensions pour les variations que contiennent les fichiers CSV du monde réel. Les champs entre guillemets peuvent inclure des virgules, des sauts de ligne et des guillemets (échappés en doublant). Les en-têtes, lorsqu'ils sont présents, sont détectés à partir de la première ligne. Les valeurs numériques et booléennes peuvent être saisies automatiquement (transformées en nombres réels ou en booléens plutôt qu'en chaînes) ou conservées sous forme de chaînes.
La sortie JSON est générée à l'aide de JSON.stringify avec une indentation facultative. Les chaînes sont échappées pour la syntaxe JSON (barre oblique inverse, guillemets, caractères de contrôle) et les structures utilisent le format demandé (tableau d'objets ou tableau de tableaux).
Cas extrêmes traités : nomenclature au début du fichier, fins de lignes mixtes (\n vs \r\n), cellules vides (rendues sous forme de chaînes vides ou nulles selon les paramètres), nouvelles lignes de fin et lignes avec différents nombres de champs. La robustesse de PapaParse en fait la bibliothèque CSV JavaScript standard.
Questions fréquentes
- La conversion de CSV en JSON modifie-t-elle le contenu ?
- Le contenu est conservé aussi précisément que possible. Cependant, certaines fonctionnalités spécifiques au format peuvent ne pas avoir d'équivalents directs, de sorte que des différences mineures de formatage peuvent survenir.
- Pourquoi convertir les données au format JSON ?
- JSON est le format de données standard pour les API Web et les applications JavaScript. Il est lisible par l'homme, largement pris en charge par les langages de programmation et possède une syntaxe plus simple que XML.
- Le convertisseur gère-t-il les structures CSV imbriquées ou complexes ?
- Oui. L'outil analyse correctement les objets imbriqués, les tableaux et tous les types de données CSV standard, préservant ainsi la structure complète des données dans la sortie JSON.
- Cette conversion est-elle sécurisée et privée ?
- Oui. Tout le traitement s'effectue localement dans votre navigateur. Vos données ne quittent jamais votre appareil : pas de téléchargement sur le serveur, pas de traitement cloud, pas de collecte de données.
- Mes données sont-elles téléchargées sur un serveur ?
- Non. PapaParse s'exécute dans votre navigateur ; la conversion s'effectue entièrement sur votre appareil.
- Puis-je reconvertir JSON en CSV ?
- Oui, utilisez l'outil JSON vers CSV, qui inverse le processus.
- Quelle est la taille maximale d’entrée ?
- Jusqu'à 50 Mo. Les fichiers plus volumineux peuvent ralentir en raison des contraintes de mémoire du navigateur ; pour les conversions à l’échelle de la production, une approche côté serveur ou scriptée est plus fiable.
- Pourquoi mon CSV avec des champs multilignes entre guillemets est-il étrangement converti ?
- PapaParse gère les champs multilignes lorsqu'ils sont correctement cités. Si le résultat est erroné, vérifiez que les champs entre guillemets utilisent des guillemets doubles autour d'eux et que les guillemets internes sont échappés en doublant ("").