Convertisseur JSON ⇄ CSV
Tout se passe dans votre navigateur. Vos fichiers et vos données ne quittent jamais votre appareil.
À propos de cet outil
Collez du JSON pour l’obtenir en CSV, ou collez du CSV pour le retransformer en JSON. Un tableau JSON d’objets devient des lignes avec un en-tête, et les champs imbriqués sont aplatis en colonnes avec une notation par points, comme address.city. Dans l’autre sens, les en-têtes à points sont reconstruits en objets imbriqués, et l’analyseur détecte automatiquement le délimiteur ou utilise celui que vous choisissez.
Comment l’outil gère-t-il les données imbriquées ?
Le JSON imbrique souvent des objets les uns dans les autres, mais une ligne CSV reste plate : le convertisseur doit donc faire un choix. Dans le sens JSON vers CSV, il aplatit chaque objet imbriqué en joignant ses clés par des points, si bien que {"address": {"city": "Lyon"}} devient une colonne address.city avec la valeur Lyon. Les tableaux et toute valeur qui ne tient pas dans une seule cellule sont convertis en chaîne JSON tels quels : vous gardez ainsi la donnée, simplement pas répartie sur plusieurs colonnes.
Dans le sens CSV vers JSON, le processus s’inverse : une colonne nommée address.city reconstruit un objet address imbriqué avec un champ city. Chaque cellule est aussi typée automatiquement. Une cellule vide devient null, true et false deviennent des booléens, un nombre simple devient un nombre, et toute cellule qui ressemble à un tableau ou un objet JSON est analysée comme tel. Le reste reste une chaîne de caractères. L’analyseur CSV détecte automatiquement le délimiteur (virgule, point-virgule, tabulation ou barre verticale) à partir de votre saisie, ou vous pouvez en forcer un si la détection se trompe.
Que se passe-t-il si mon JSON n’est pas une liste plate d’objets ?
La conversion JSON vers CSV attend un tableau JSON dont chaque élément est un objet, puisque c’est ce qui correspond à des lignes et des colonnes. Si la valeur de premier niveau n’est pas un tableau, ou si l’un de ses éléments n’est pas un objet, l’outil s’arrête et indique l’index fautif plutôt que de deviner une mise en page. Un objet seul, un nombre isolé ou un tableau de chaînes ne se convertit pas directement : il faut d’abord restructurer les données en tableau d’objets, ce qui est aussi la forme que renvoient déjà la plupart des API pour des listes.
Mes données sont-elles envoyées quelque part ?
Non. L’analyse et la conversion se font entièrement dans votre navigateur en JavaScript, et rien de ce que vous collez n’est envoyé à un serveur. Vous pouvez donc y coller sans risque des exports de tableurs, des extraits de base de données ou des fichiers CSV contenant des données clients, des identifiants internes ou d’autres informations sensibles.
Usages courants : transformer une réponse d’API en CSV pour Excel ou Google Sheets, convertir un tableur exporté en JSON pour un script ou un jeu de données de test, ou nettoyer des données avant de les passer à un autre outil. Le CSV produit suit la RFC 4180, et le JSON suit le format décrit sur MDN.