Qu'est-ce que la conversion JSON vers CSV ?
JSON (JavaScript Object Notation, RFC 8259) est un format texte en arbre pour données structurées ; CSV (Comma-Separated Values, RFC 4180) est un format texte plat et tabulaire. Convertir JSON en CSV aplatit cet arbre en lignes et colonnes, de sorte qu'un jeu de données qui provenait d'une réponse d'API s'ouvre proprement dans un tableur sans retaper la moindre ligne.
Comment fonctionne la conversion JSON vers CSV ?
Chaque conversion s'exécute localement dans votre navigateur. Les étapes principales sont :
JSON.parsevalide l'entrée et confirme qu'il s'agit d'un tableau d'enregistrements au niveau supérieur. Une erreur claire se déclenche si les crochets, les virgules ou les clés entre guillemets ne sont pas corrects.- L'écrivain dérive les colonnes d'en-tête de vos enregistrements : soit l'union de toutes les clés trouvées, soit seulement celles du premier enregistrement, selon le commutateur.
- Les objets imbriqués sont aplatis en clés avec points (
user.id,user.city) ou sérialisés en une seule cellule JSON, à votre choix. Les tableaux à l'intérieur des objets sont JSON-stringifiés dans les deux cas. - Chaque cellule est échappée conformément à la RFC 4180 : toute valeur contenant le délimiteur, un guillemet double ou un saut de ligne est entourée de guillemets, et les guillemets internes sont doublés. Les lignes sont jointes avec des terminateurs
\r\n. - Le CSV apparaît dans la zone de texte en lecture seule, et un lien de téléchargement construit un
Blobavec le type MIMEtext/csv;charset=utf-8afin que vous puissiez enregistrer le fichier en un clic.
Pourquoi convertir JSON en CSV avec cet outil ?
- Confidentialité : chaque passe d'analyse, d'aplatissement et d'écriture se produit dans votre navigateur. Les données n'atteignent jamais nos serveurs.
- Exactitude : l'écrivain suit la RFC 4180. Une valeur comme
Bob, Jr.devient"Bob, Jr."— une seule cellule entre guillemets, pas deux colonnes — et les sauts de ligne ou guillemets intégrés survivent à la conversion intacts. - Prêt pour le tableur : la sortie se colle directement dans Excel ou Google Sheets, avec les colonnes d'en-tête déjà dérivées de vos clés, sans nettoyage manuel avant que les données soient exploitables.
- Souplesse : aplatissez les objets imbriqués en clés avec points ou sérialisez-les en une seule cellule, choisissez n'importe quel délimiteur pour les dialectes CSV non séparés par virgule, et décidez si les en-têtes proviennent de toutes les clés ou seulement du premier enregistrement.
Quelles sont les applications courantes de la conversion JSON vers CSV ?
Aplatir JSON en CSV revient dans tout le travail de la donnée et de l'outillage :
- Export de données : transformer une réponse d'API en un fichier CSV que votre équipe finance, ops ou produit peut ouvrir dans Excel ou Google Sheets sans écrire de code.
- Reporting : déverser un résultat de requête JSON dans un tableur pour un tableau croisé dynamique, un graphique ou une colonne de formules. Ce genre de travail est pénible sur du JSON brut.
- Relecture dans un tableur : aplatir une configuration JSON imbriquée (réglages, feature flags, variantes A/B) en CSV pour que des relecteurs non techniques puissent la lire et l'éditer cellule par cellule.
À quoi ressemble un exemple de conversion JSON vers CSV ?
Collez [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}], laissez le délimiteur sur virgule et appuyez sur CONVERTIR. Vous obtenez trois lignes : une ligne d'en-tête name,age, une ligne de données Alice,30 et une ligne "Bob, Jr.",25. Cette virgule intégrée est exactement ce qui piège un simple join — ici elle déclenche le guillemetage RFC 4180, de sorte que la cellule reste entière.
Ce convertisseur JSON vers CSV s'exécute-t-il entièrement dans mon navigateur ?
Oui. Chaque passe d'analyse, d'aplatissement et d'écriture s'exécute localement en JavaScript dans votre onglet. L'outil n'appelle ni fetch, ni XMLHttpRequest, ni navigator.sendBeacon — vos charges utiles JSON n'atteignent jamais nos serveurs, un convertisseur tiers ou un pipeline analytics. L'outil fonctionne aussi hors ligne une fois la page chargée, car c'est un bundle statique HTML/CSS/JS sans dépendance d'API à l'exécution.
Quelle est la taille maximale d'entrée que ce convertisseur peut traiter ?
Le convertisseur met toute l'entrée en mémoire et s'exécute de façon synchrone sur le thread principal, donc les limites pratiques dépendent de votre appareil. Des tableaux JSON jusqu'à environ 10 Mo (à peu près 100 000 enregistrements typiques) se convertissent sans pause perceptible sur un ordinateur portable récent. Au-delà, l'interface peut figer pendant que l'écrivain tourne. La conversion en flux via un Web Worker et un écrivain par chunks est un suivi prévu — pour l'instant, découpez les très gros jeux de données avant de les coller.
Comment l'écrivain gère-t-il les valeurs contenant des virgules, des guillemets ou des sauts de ligne ?
Conformément à la RFC 4180. Toute valeur contenant le délimiteur actif, un guillemet double, un CR ou un LF est entourée de guillemets doubles, et les guillemets internes sont doublés. Ainsi un nom comme Bob, Jr. devient la cellule unique "Bob, Jr." plutôt que de déborder sur deux colonnes, et une description multi-ligne reste dans une seule cellule plutôt que de casser la ligne. C'est la partie où un naïf join(',') se trompe.
Que deviennent les objets JSON imbriqués lors de la conversion en CSV ?
Les objets imbriqués sont traités selon le commutateur Objets imbriqués. En mode Aplatir (le défaut), les clés sont jointes par des points — {"user":{"id":1,"city":"Paris"}} devient les colonnes user.id et user.city. En mode Sérialiser, l'objet imbriqué est sérialisé en une seule valeur de cellule JSON avec l'échappement de guillemets de la RFC 4180 intact, ce qui préserve sa structure pour l'aller-retour. Les tableaux à l'intérieur des objets sont sérialisés en JSON dans les deux modes.
Quels délimiteurs la sortie CSV peut-elle utiliser ?
Quatre : virgule (,, valeur par défaut de la RFC 4180), point-virgule (;, courant dans les locales européennes), tabulation (\t, le dialecte TSV) et barre verticale (|). Choisissez celui qu'attend votre outil en aval. L'écrivain échappe toute cellule contenant le délimiteur choisi, de sorte que le choix ne corrompt jamais une valeur.
Ce convertisseur JSON vers CSV aplatit votre tableau et émet une sortie conforme à la RFC 4180 que vous pouvez coller directement dans un tableur, un rapport ou une revue de code, sans envoyer un seul octet. Besoin de la direction inverse ? Le convertisseur CSV vers JSON fait le chemin en sens contraire.