Convertir du JSON en CSV (ou inverse) sans Excel et sans code
Vous avez une réponse JSON d'une API, mais votre client veut les données dans Excel. Ou l'inverse : la comptable vous a envoyé un tableur CSV et votre app n'accepte que du JSON. Le faire à la main ? Une demi-heure et une poignée de fautes de frappe. L'ouvrir dans Excel ? Il enlève les zéros initiaux, massacre les dates et devine mal le séparateur.
Collez vos données à gauche, choisissez une direction (JSON → CSV ou CSV → JSON) et copiez le résultat. Pas d'upload, pas de compte, pas de limites. Les objets imbriqués en JSON sont aplatis avec des points (`user.name`, `user.address.city`), et les tableaux dans les valeurs peuvent être laissés en texte ou éclatés en une ligne par élément.
Le parser CSV est conforme à RFC 4180 : il comprend les champs entre guillemets avec des virgules à l'intérieur, les sauts de ligne dans les cellules et l'échappement guillemet doublé (`""`). Il détecte automatiquement le séparateur (virgule, point-virgule, tabulation) et peut éventuellement coercer `true`/`false` en booléens et `42`/`3.14` en nombres. Tout s'exécute dans le navigateur.
Comment l'utiliser
- Choisissez la direction dans la barre du haut : JSON → CSV si vous avez un tableau d'objets à exporter, CSV → JSON si vous voulez charger un tableur dans une app.
- Collez l'entrée à gauche. Pour JSON, c'est typiquement un tableau d'objets (par ex. une réponse d'API), mais un objet seul marche aussi. Pour CSV, la première ligne est généralement les en-têtes.
- Pour JSON → CSV : choisissez un séparateur (virgule pour US et UK, point-virgule pour l'Europe continentale, tabulation pour coller dans Excel), le style de guillemets (minimal là où requis, ou toujours) et si vous voulez une ligne d'en-tête.
- Pour CSV → JSON : le séparateur est auto-détecté (vous pouvez aussi le forcer), activez le smart parsing pour garder les nombres et booléens typés, ou désactivez-le si vous voulez tout en strings.
- Les clés imbriquées en JSON sont aplaties avec des points : `{ "user": { "name": "Alice" } }` devient une colonne `user.name`. Ça marche aussi dans l'autre sens : une colonne `address.city` en CSV construit un objet imbriqué en sortie.
- Les tableaux dans les valeurs sont contrôlés par un interrupteur : gardez-les en texte (`["a","b"]` dans une cellule) ou éclatez-les en lignes (chaque élément de tableau devient sa propre ligne, les autres colonnes se répètent).
- Copiez le résultat en un clic ou téléchargez un fichier (`.csv` ou `.json`). Le nom de fichier inclut la date, deux exports d'affilée ne s'écrasent pas.
Quand c'est utile
Six situations où le convertisseur remplace une demi-heure de travail fastidieux :
- Exporter des données d'API vers Excel pour un client. Le client veut un "rapport ventes de mars" dans Excel. Les données vivent dans votre API en JSON. Vous collez la réponse, choisissez virgule comme séparateur, téléchargez le `.csv` et l'envoyez par email. Deux minutes au lieu d'écrire un endpoint d'export.
- Charger le tableur de la comptable dans votre app. La comptable envoie une liste de factures en Excel. Votre app n'accepte que du JSON via son endpoint d'import. Sauvegardez la feuille en CSV, collez ici, copiez le JSON, collez dans l'importeur. Pas besoin de parser custom.
- Migrer des données entre systèmes. L'ancien CRM exporte des contacts en CSV, le nouveau importe du JSON. Vous convertissez mille enregistrements en une seconde, jetez un œil à l'aperçu pour confirmer que les adresses sont correctement imbriquées (`address.street`, `address.city`) et uploadez.
- Travailler avec des réponses d'API dans un tableur. Vous tirez des données d'une API mais voulez les filtrer dans Excel au lieu d'écrire un autre endpoint. Convertissez JSON en CSV, ouvrez dans Sheets, ajoutez des filtres et un tableau croisé dynamique. Pas de code.
- Préparer des fixtures pour des tests unitaires. Vous avez des données exemple dans Excel, mais vos tests attendent du JSON. Exportez en CSV, convertissez ici avec smart parsing activé (les nombres restent des nombres, pas des strings) et collez dans votre `fixtures.json`.
- Nettoyer des données avant un import en base. Vous avez un CSV avec des séparateurs bizarres (point-virgules, tabulations) et caractères spéciaux entre guillemets. Le parser RFC 4180 le gère : convertissez en JSON, regardez le résultat dans le navigateur, puis chargez dans la base en confiance.