JSON imbriqué · flatten · CSV
Aplatir un JSON imbriqué en CSV
Mis à jour : mai 2026
Les API renvoient souvent des objets imbriqués : client.adresse.ville, commande.total.ht, produit.categorie.nom. Pour analyser ces données dans un tableur, il faut les aplatir en colonnes CSV lisibles sans perdre le lien hiérarchique entre les champs.
Gratuit · Sans upload · Conversion dans le navigateur
Structure imbriquée courante
Les réponses d'API REST utilisent fréquemment des objets dans des objets pour grouper les informations. Un objet utilisateur peut contenir une adresse, elle-même contenant ville et code postal :
[{
"nom": "Alice",
"adresse": { "ville": "Lyon", "cp": "69001" },
"commande": { "total": 149.90, "devise": "EUR" }
}]
Ce que produit l'aplatissement
L'aplatissement transforme chaque sous-propriété en une colonne de premier niveau, nommée avec la notation pointée :
nom,adresse.ville,adresse.cp,commande.total,commande.devise
Alice,Lyon,69001,149.9,EUR
La notation pointée préserve la lisibilité : on comprend que adresse.ville vient du sous-objet adresse, contrairement à une colonne nommée simplement ville qui perdrait ce contexte.
Les tableaux imbriqués : le cas difficile
Un objet peut contenir un tableau d'objets — par exemple une commande avec plusieurs articles. Ce cas ne se convertit pas en un seul CSV plat sans perte d'information. Les options habituelles sont :
- Conserver le tableau en JSON stringifié dans une cellule (lisible mais non filtrable dans Excel).
- Joindre les valeurs avec un séparateur (virgule ou pipe) dans une seule cellule.
- Développer : créer une ligne par élément du tableau, dupliquant les autres colonnes.
Limites à anticiper
- Profondeur excessive (3 niveaux ou plus) : les noms de colonnes deviennent très longs.
- Tableaux hétérogènes : des objets n'ayant pas les mêmes clés d'un élément à l'autre.
- Clés contenant un point : elles peuvent être confondues avec la notation d'aplatissement.
Comment faire avec Flowfiles
- Ouvrez le convertisseur JSON CSV.
- Collez le JSON imbriqué.
- Gardez le mode JSON vers CSV.
- Activez l'option d'aplatissement.
- Convertissez puis contrôlez les colonnes générées.
Questions fréquentes
Jusqu'à quelle profondeur l'aplatissement fonctionne-t-il ?
L'outil aplatit récursivement tous les sous-objets. En pratique, 2 ou 3 niveaux restent lisibles. Au-delà, les noms de colonnes deviennent très verbeux.
Que deviennent les tableaux d'objets imbriqués ?
Ils sont convertis en texte JSON dans une cellule par défaut. Pour les développer ligne par ligne, il faut une transformation supplémentaire dans votre script.
Les colonnes pointées s'importent-elles bien dans Excel ?
Oui. Excel traite le point dans un nom de colonne comme un caractère ordinaire. La colonne adresse.ville s'affiche telle quelle dans l'en-tête.
Puis-je désactiver l'aplatissement ?
Oui. Sans aplatissement, les sous-objets sont conservés en JSON stringifié dans une cellule, ce qui préserve la structure mais rend le contenu moins lisible dans un tableur.
Comment gérer un JSON avec des clés contenant un point ?
Une clé comme "user.id" sera confondue avec la notation d'aplatissement. Il est recommandé de renommer ces clés avant la conversion pour éviter les ambiguïtés.
Le résultat est-il toujours un CSV valide ?
Oui. Les valeurs contenant des virgules, guillemets ou retours à la ligne sont automatiquement encadrées par des guillemets conformément à la norme RFC 4180.
Puis-je reconstruire le JSON depuis le CSV aplati ?
Théoriquement oui, en utilisant la notation pointée pour reconstruire les sous-objets. L'outil CSV vers JSON de Flowfiles peut le faire si les clés pointées sont reconnues comme structure imbriquée.