Données · 2 min de lecture ·
Du JSON au CSV sans perdre un seul champ
Clés imbriquées, champs facultatifs et virgules dans les textes : comment 4Dev aplatit un JSON désordonné en un CSV prêt pour le tableur.

Un tableur est plat, le JSON ne l’est pas. Toute conversion de JSON en CSV doit décider quoi faire des objets imbriqués, des tableaux et des clés que seuls certains enregistrements possèdent. Voici exactement ce que fait le convertisseur de 4Dev.
Chaque clé a sa colonne
La ligne d’en-tête est construite à partir des clés de tous les objets, dans l’ordre de leur première apparition, et pas seulement à partir du premier enregistrement. Un enregistrement auquel il manque une clé reçoit une cellule vide : les colonnes ne se décalent jamais et les champs facultatifs ne disparaissent pas.
[{"id":1,"name":"Ada"},
{"id":2,"name":"Alan","note":"optional"}]
id,name,note
1,Ada,
2,Alan,optional
Les objets imbriqués deviennent des colonnes avec tiret bas
Les objets sont aplatis en reliant leurs clés par un tiret bas : {"address":{"city":"Lisbon"}} devient une colonne nommée address_city. Un tableau de valeurs simples tient dans une seule cellule ("admin, dev"), et un tableau d’objets est conservé sous forme de texte JSON dans sa cellule : rien n’est perdu.
Les virgules et les guillemets sont échappés pour vous
Toute valeur qui contient une virgule, un guillemet double ou un saut de ligne est entourée de guillemets doubles, et les guillemets internes sont doublés : c’est la règle CSV standard qu’attendent Excel et Google Sheets.
2,"Alan, T.","says ""hi"""