Aller au contenu principal

Convertir du JSON en CSV

Le convertisseur attend un tableau JSON d'objets et écrit une ligne CSV par objet. Les enregistrements ont rarement exactement les mêmes clés : ce guide montre comment les colonnes sont choisies et ce qui comble les vides.

Exemple détaillé

Entrée (JSON)
[
  {"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
  {"id": 2, "name": "Kim", "email": "[email protected]"},
  {"id": 3, "name": "Lee", "email": null}
]
Sortie (CSV)
id,name,tags,email
1,"Smith, Jane","admin,ops",
2,Kim,,[email protected]
3,Lee,,

La ligne d'en-têtes liste chaque clé dans l'ordre de sa première apparition : id, name, tags, puis email, issu du deuxième objet. Smith n'a pas d'email et l'email de Lee vaut null, donc les deux cellules restent vides. Le tableau tags est écrit sous la forme admin,ops et placé entre guillemets parce qu'il contient le délimiteur, tout comme "Smith, Jane".

Comment le convertisseur procède

  • L'entrée doit être un tableau JSON tel que [{...}, {...}] ; un objet seul est refusé.
  • Les colonnes correspondent à l'union de toutes les clés des objets, dans l'ordre de première apparition de chaque clé.
  • Une clé manquante ou une valeur null produit une cellule vide.
  • Les nombres et les booléens sont écrits en texte brut, par exemple 42 et true.
  • Les tableaux de valeurs simples sont écrits avec leurs éléments séparés par des virgules. Les objets imbriqués, ainsi que les tableaux contenant des objets, sont écrits sous forme de JSON compact dans la cellule, si bien qu'aucune donnée n'est perdue : aplatissez-les d'abord (par exemple en address_city) si vous avez besoin de colonnes distinctes.
  • Les valeurs contenant le délimiteur, un guillemet ou un saut de ligne sont entourées de guillemets doubles, et les guillemets internes sont doublés.

Autres guides de conversion