Command Palette

Search for a command to run...

JSON vers CSV : transformez une réponse API en une feuille de calcul que les gens peuvent ouvrir

JSON vers CSV : transformez une réponse API en une feuille de calcul que les gens peuvent ouvrir

T
Toolz Team
|Aug 23, 2026|13 min Lire

Fait partie de la collection Outils de données

La moitié de mon travail sur n'importe quel produit SaaS consiste à sortir les données du système et à les remettre entre les mains de quelqu'un qui n'écrit pas de code. Un fondateur veut les inscriptions month&#39 ; s dans une feuille de calcul. Un responsable de l'assistance veut trier les tickets dans Excel. Un comptable veut que les commandes soient un .csv ils peuvent pivoter Les données vivent comme JSON, parce que c'est ce que l'API retourne, et chaque fois que la tâche est la même : transformer ce tableau d'objets en colonnes et lignes qu'un humain peut ouvrir J'en ai EU marre d'écrire des scripts jetables pour elle, ce qui est exactement pourquoi le Toolz Convertisseur JSON en CSV existe. Ce guide est la façon dont je pense à cette conversion, y compris les parties qui font trébucher les gens.

tl;dr : Un convertisseur JSON vers CSV prend un tableau d'objets et l'écrit sous forme de lignes séparées par des virgules, une colonne par propriété, afin qu'une feuille de calcul puisse l'ouvrir. Les parties dures sont des enregistrements avec différents champs, des objets imbriqués et des valeurs contenant des virgules. Un bon convertisseur construit l'en-tête à partir de l'union de toutes les clés, peut aplatir les objets imbriqués en colonnes de notation de points et échappe aux champs selon la RFC 4180. L'outil Toolz fait les trois côtés client et vous permet de sélectionner le délimiteur et les fins de ligne CRLF afin que le fichier s'ouvre proprement dans Excel.

Je m'appuie sur Laravel et React, donc JSON est mon format natif et CSV est la lingua franca vers laquelle j'exporte. L'ingénierie intéressante n'est pas le chemin heureux où chaque objet a les trois mêmes clés ; c'est la réalité désordonnée des données de production, et c'est là que la plupart des convertisseurs font tranquillement la mauvaise chose.

Qu'est-ce qu'un convertisseur JSON vers CSV ?

Un convertisseur JSON vers CSV lit un tableau JSON d'objets et produit un tableau : les noms de propriétés deviennent la ligne d'en-tête, et chaque objet devient une ligne de données en dessous. Collez la réponse d'un point de terminaison API, d'une requête de base de données ou d'un document exporté, et vous obtenez un fichier que vous pouvez ouvrir directement dans Excel, Google Sheets ou Numbers. C'est le pont entre le format d'échange de machines et le format dans lequel les gens travaillent réellement.

L'entrée idéale est un tableau d'objets plats qui partagent tous les mêmes clés, car cela correspond parfaitement à une table rectangulaire Les données réelles sont rarement aussi bien rangées Les objets manquent un champ, les valeurs nichent deux niveaux de profondeur et certaines entrées sont des tableaux plutôt que des scalaires Toute la valeur d'un convertisseur dédié est qu'il a une réponse définie et sensée pour chacun de ces cas au lieu de lancer une erreur ou de laisser tomber des données Si votre JSON est minifié ou si vous voulez juste l'inspecter d'abord, passez-le à travers le Formateur JSON pour l'imprimer et le valider avant de convertir.

Comment gère-t-il les objets avec différents champs ?

C'est la première chose qui brise les convertisseurs naïfs, et cela vaut la peine d'être compris car la production JSON n'a presque jamais d'objets uniformes Supposons que votre tableau ait un objet avec id, name, et email(en), et la suivante avec id, name, et phone. Quelles colonnes le CSV devrait-il avoir ?

La bonne réponse est l'union de chaque clé sur tous les objets, gardée dans l'ordre où chaque clé apparaît en premier. Ainsi l'en-tête devient id, name, email, phone(en), et tout objet manquant une de ces touches obtient simplement une cellule vide dans cette colonne Rien n'est laissé tomber, et la table reste rectangulaire Un convertisseur paresseux qui ne lit que les touches du premier objet perdrait silencieusement le phone colonne entièrement, en prenant chaque numéro de téléphone avec elle Le convertisseur Toolz analyse toutes les lignes pour construire l'en-tête, de sorte que les enregistrements inégaux s'alignent toujours dans une table propre et complète Ce comportement est la différence entre une exportation en laquelle vous pouvez faire confiance et une qui omet tranquillement les données que personne ne remarque jusqu'à ce qu'il soit trop tard.

Qu'en est-il des objets et des tableaux imbriqués ?

JSON est un arbre ; CSV est une grille L'aplatissement de l'un dans l'autre est le deuxième endroit où les convertisseurs divergent, et le bon choix dépend de ce que vous prévoyez de faire avec le fichier.

Pour les objets imbriqués, vous disposez de deux options raisonnables et l'outil prend en charge les deux. Avec l'aplatissement, un objet imbriqué est étendu en colonnes de notation de points, donc { "address": { "city": "Paris", "zip": "75001" } } devient un address.city colonne et un address.zip colonne. C'est ce que vous voulez lorsque les champs imbriqués sont des données réelles qu'une personne lira et triera Avec l'aplatissement, l'objet imbriqué entier est écrit comme une chaîne JSON compacte à l'intérieur d'une seule cellule, ce qui est mieux lorsque la structure est opaque et il vous suffit de le conserver textuellement.

Les tableaux ont leur propre choix, car il n'existe pas de bonne façon de regrouper une liste dans une seule cellule. Vous pouvez stocker le tableau sous forme de JSON, en le conservant ["a","b"] intact pour qu'il fasse des allers-retours parfaitement, ou vous pouvez joindre les éléments avec un séparateur pour obtenir le plus lisible par l'homme a; b. J'utilise JSON lorsque le fichier sera lu par un programme et que le format join quand une personne est l'audience et la lisibilité l'emporte Le tableau ci-dessous résume les décisions.

Forme d'entrée Aplatir ON Aplatir
{"user":{"name":"Ada"}} colonne user.name = Ada colonne user = {"name":"Ada"}
{"tags":["x","y"]} (présente sous le nom de JSON) colonne tags = ["x","y"] colonne tags = ["x","y"]
{"tags":["x","y"]} (tableaux joints) colonne tags = x; y colonne tags = x; y
objet manquant une clé cellule vide dans cette colonne cellule vide dans cette colonne

Pourquoi les virgules et les citations doivent-elles s'échapper ?

C'est la règle qui, ignorée, produit un fichier qui semble bien jusqu'à ce que quelqu'un l'ouvre et que les colonnes soient toutes fausses CSV utilise la virgule pour séparer les champs, alors que se passe-t-il lorsqu'une valeur contient une virgule ? ou une double citation ? ou une rupture de ligne d'une note multi-lignes ?

RFC 4180[TRADUCTION], ce que CSV a de plus proche d'un standard, répond ceci précisément : tout champ contenant le délimiteur, un guillemet double ou un saut de ligne doit être enveloppé dans des guillemets doubles, et tout guillemet double à l'intérieur de ce champ doit être doublé Donc la valeur Baker, Smith & Co. s'écrit comme "Baker, Smith & Co.", et She said "hi" se transforme "She said ""hi""". Le convertisseur Toolz applique automatiquement ces règles à chaque cellule, c'est pourquoi une adresse, un prix avec un séparateur de milliers ou un commentaire en texte libre survit au voyage dans une feuille de calcul sous la forme d'un seul champ intact au lieu de se briser en colonnes supplémentaires.

Comment puis-je ouvrir le fichier proprement dans Excel ?

On pourrait penser qu'un CSV est un CSV, mais Excel sous Windows est difficile sur une chose qui surprend les gens : les terminaisons de ligne. Bien faire les choses, c'est la différence entre un fichier qui s'ouvre parfaitement et un fichier dans lequel les lignes apparaissent fusionnées ou divisées.

Excel sous Windows s'attend à ce que chaque ligne se termine par un retour chariot plus un flux ligne, la paire CRLF Si vous lui remettez un fichier avec des terminaisons de ligne LF de style Unix, il peut mal lire où les lignes se brisent, en particulier lorsqu'un champ cité contient sa propre nouvelle ligne Le convertisseur vous permet de choisir LF ou CRLF, alors choisissez CRLF lorsque le public est Excel sous Windows et LF pour la plupart des autres outils et pour Google Sheets, qui est satisfait de l'un ou l'autre. Vous pouvez également choisir le délimiteur : la virgule est la valeur par défaut, mais le point-virgule est courant dans les lieux européens où la virgule est le séparateur décimal, et la destination ou le canal est la destination est utile lorsque votre choix est complet et délimite un ticket.

Est-il sécuritaire de convertir JSON sensible en ligne ?

Oui, car rien de tout cela ne quitte votre navigateur Chaque partie de la conversion, de l'analyse du JSON à l'échappement de chaque champ en passant par la jonction des lignes, s'exécute en JavaScript sur votre propre machine Il n'y a pas de téléchargement et pas de serveur, donc rien n'est transmis, enregistré ou stocké Ouvrez l'onglet réseau et cliquez sur Convertir : vous ne verrez aucune requête s'éteindre, et une fois que la page a chargé l'outil fonctionne avec internet déconnecté.

Ce n'est pas un détail mineur pour JSON en particulier, car JSON est ce que parlent les réponses API et les systèmes internes Le tableau que vous êtes en train de convertir peut contenir des enregistrements utilisateur, des données de commande, des jetons d'accès ou tout autre retour de votre backend Un convertisseur qui expédie votre charge utile à un serveur distant transforme une réponse privée en quelqu'un d'autre&#39 ; s ligne de journal Faire le travail côté client signifie que les données restent exactement là où elles ont commencé C'est la valeur par défaut pour chaque outil sur Toolz.dev, et si vous voulez le cas plus complet pour la raison pour laquelle cette architecture compte, je l'ai exposé dans le guide de confidentialité des données pour les outils en ligne.

Où cela s'inscrit-il dans un véritable pipeline ?

En soi le convertisseur est une étape, mais il est généralement le dernier saut d'un flux plus long, et il se marie naturellement avec une poignée d'autres outils Le plus courant aller-retour dans ma semaine est : exporter JSON d'une API, l'éditer ou le filtrer, convertir en CSV, et le remettre à quelqu'un qui vit dans des feuilles de calcul Quand ils le renvoient avec des changements, je convertis l'autre direction avec le Convertisseur CSV vers JSON[traduction], qui analyse le fichier selon la RFC 4180 et en déduit les types pour que j'obtienne à nouveau des objets propres Les deux outils sont des miroirs délibérés l'un de l'autre, c'est pourquoi ils se réticulent.

Avant de convertir, je veux souvent voir les données comme une grille pour les vérifier de bon sens, et le Visionneuse CSV rend CSV comme une table triable pour que je puisse confirmer l'exportation semble juste Et quand la destination n'est pas du tout une feuille de calcul mais un autre système qui parle XML, le Convertisseur XML en JSON et ses homologues couvrent cette étape Parce que chacun de ces s'exécute localement, vous pouvez les enchaîner sur le même fichier privé sans un seul téléchargement Si vous rassemblez un ensemble d'outils de référence pour ce genre de querelles de données, mon Guide d'outils pour les développeurs Web couvre la façon dont je pense à en assembler un.

Questions fréquentes

Comment convertir JSON en CSV ? Ouvrez le Convertisseur JSON en CSV« Coller un tableau JSON d'objets dans la zone de saisie, et cliquez sur Convertir » Les touches d'objet deviennent la ligne d'en-tête et chaque objet devient une ligne de données, puis vous pouvez copier le CSV ou le télécharger en tant que .csv fichier à ouvrir dans Excel ou Google Sheets Tout le traitement se passe dans votre navigateur, donc rien n'est téléchargé.

À quelle structure JSON le convertisseur s'attend-il ? Un tableau d'objets est idéal, où chaque objet devient une rangée Un seul objet est également accepté et devient un fichier à une rangée Les valeurs qui ne sont pas des objets sont placées sous un value colonne donc rien n'est perdu, et l'outil vous avertit quand cela se produit.

Comment gère-t-il les objets avec différents champs ? L'en-tête est l'union de chaque clé trouvée sur tous les objets, conservée dans l'ordre dans lequel chaque clé apparaît en premier. Un objet manquant une de ces clés reçoit simplement une cellule vide dans cette colonne, donc les enregistrements inégaux produisent toujours une table propre et complète sans aucune donnée tombée.

Comment les objets et tableaux imbriqués sont-ils gérés ? Avec l'aplatissement, un objet imbriqué se développe en colonnes de notation de points address.city; avec ça éteint, l'objet est écrit comme une chaîne JSON dans une cellule Les tableaux peuvent être stockés comme JSON pour les préserver exactement, ou joints avec un séparateur pour une colonne plus lisible Vous choisissez par conversion.

Pourquoi devrais-je utiliser les terminaisons de ligne CRLF pour Excel ? Microsoft Excel sous Windows s'attend à un retour chariot plus un flux de ligne à la fin de chaque ligne Le choix de CRLF évite la fusion ou la mauvaise lecture des lignes lorsque vous ouvrez le fichier Pour la plupart des autres outils et pour Google Sheets, LF fonctionne bien.

Les virgules et les citations à l'intérieur des valeurs sont-elles correctement échappées ? Oui. Suite à la RFC 4180, tout champ contenant le délimiteur, une citation double ou une coupure de ligne est enveloppé dans des guillemets doubles, et les guillemets internes sont doublés. Cela conserve les adresses, les descriptions et autres textes libres sous la forme d'un seul champ valide au lieu de se diviser en colonnes.

Est-il sécuritaire de convertir JSON sensible ? Oui. La conversion s'exécute entièrement en JavaScript dans votre navigateur, aucune requête réseau ne transporte vos données, rien n'est enregistré ou stocké, et elle fonctionne hors ligne une fois chargée JSON contenant des clés API, des enregistrements utilisateur ou des identifiants internes ne quitte jamais votre machine.

Puis-je reconvertir le CSV en JSON ? Oui. le Convertisseur CSV vers JSON inverse le processus, en réanalysant le fichier séparé par des virgules dans un tableau JSON d'objets avec inférence de type Le Round-tripping vous permet de déplacer les données entre les feuilles de calcul et les API sans les réécrire à la main.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!