Exemple 1 : convertir JSON en CSV
Saisie (deux objets avec des clés différentes) :
[
{"id": 1, "name": "Anna Müller", "address": {"city": "Köln", "zip": "50667"}, "tags": ["admin", "dev"], "price": 19.9},
{"id": 2, "name": "Ben \"Bo\" Schulz, Jr.", "address": {"city": "Bonn"}, "tags": [], "active": true}
]
Résultat (par défaut : virgule, tableaux sous forme de texte JSON) :
id,name,address.city,address.zip,tags,price,active
1,Anna Müller,Köln,50667,"[""admin"",""dev""]",19.9,
2,"Ben ""Bo"" Schulz, Jr.",Bonn,,[],,true
Le résultat du premier exemple sous forme de tableau| id | name | address.city | address.zip | tags | price | active |
|---|
| 1 | Anna Müller | Köln | 50667 | ["admin","dev"] | 19.9 | |
| 2 | Ben "Bo" Schulz, Jr. | Bonn | | [] | | true |
Résultat en clair : deux objets produisent 2 lignes de données et 7 colonnes. Les colonnes réunissent toutes les clés ; l’objet imbriqué devient « address.city » et « address.zip », et les valeurs absentes d’un objet restent vides. Le nom contenant une virgule et des guillemets est placé entre guillemets, et le guillemet qu’il contient est doublé (RFC 4180). Le tableau « tags » figure sous forme de texte JSON dans une cellule. Le code postal reste « 50667 » et le nombre 19.9 reste 19.9.
Exemple 2 : convertir un CSV exporté d’Excel en JSON
Saisie (séparateur point-virgule, nombres avec virgule, champ entre guillemets contenant un saut de ligne) :
id;name;price;active;note
1;Anna Müller;19,90;true;
2;"Ben ""Bo"" Schulz";5;false;"Zeile 1
Zeile 2"
Résultat (séparateur détecté automatiquement, virgule décimale) :
[
{
"id": 1,
"name": "Anna Müller",
"price": 19.90,
"active": true,
"note": ""
},
{
"id": 2,
"name": "Ben \"Bo\" Schulz",
"price": 5,
"active": false,
"note": "Zeile 1\nZeile 2"
}
]
Résultat en clair : l’outil reconnaît le point-virgule comme séparateur et transforme chaque ligne en objet dont les champs portent les noms de l’en-tête. « 19,90 » devient le nombre 19.90, « 5 » le nombre 5 et « true » un booléen JSON. Le champ contenant un saut de ligne reste un seul texte avec \n, et les guillemets doublés deviennent un seul guillemet. La dernière cellule vide de la première ligne devient une chaîne vide.
Exemple 3 : données imbriquées et tableaux
Saisie :
[{"id": 1, "user": {"name": "Anna", "address": {"city": "Köln"}}, "tags": ["admin", "dev"]}, {"id": 2, "user": {"name": "Ben"}, "tags": ["dev"]}]
Tableaux sous forme de texte JSON :
id,user.name,user.address.city,tags
1,Anna,Köln,"[""admin"",""dev""]"
2,Ben,,"[""dev""]"
Tableaux déployés :
id,user.name,user.address.city,tags.0,tags.1
1,Anna,Köln,admin,dev
2,Ben,,dev,
Résultat en clair : les objets imbriqués sont aplatis avec une notation à points : « user » et « address » deviennent « user.address.city ». Pour les tableaux, tu as le choix : sous forme de texte JSON, le nombre de colonnes reste identique et aucune donnée n’est perdue. En les développant, chaque élément obtient sa propre colonne (« tags.0 », « tags.1 ») ; la deuxième reste vide pour la ligne qui ne contient qu’un seul tag.