Ga naar de hoofdinhoud

JSON naar CSV converteren

De converter verwacht een JSON-array met objecten en schrijft één CSV-rij per object. Records hebben zelden precies dezelfde sleutels, dus deze handleiding laat zien hoe de kolommen worden gekozen en waarmee de gaten worden opgevuld.

Uitgewerkt voorbeeld

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

De koprij bevat elke sleutel in de volgorde waarin die voor het eerst voorkomt: id, name, tags en daarna email uit het tweede object. Smith heeft geen email en de email van Lee is null, dus beide cellen zijn leeg. De array tags wordt geschreven als admin,ops en tussen aanhalingstekens gezet omdat die het scheidingsteken bevat, net als "Smith, Jane".

Hoe de converter hiermee omgaat

  • De invoer moet een JSON-array zijn, zoals [{...}, {...}]; een los object wordt geweigerd.
  • De kolommen zijn de vereniging van alle objectsleutels, in de volgorde waarin elke sleutel voor het eerst voorkomt.
  • Een ontbrekende sleutel of een null-waarde levert een lege cel op.
  • Getallen en booleans worden als gewone tekst geschreven, bijvoorbeeld 42 en true.
  • Arrays met eenvoudige waarden worden geschreven als hun elementen, gescheiden door komma's. Geneste objecten en arrays die objecten bevatten, worden als compacte JSON in de cel geschreven, zodat er geen gegevens verloren gaan; maak ze eerst plat (bijvoorbeeld tot address_city) als je aparte kolommen nodig hebt.
  • Waarden met het scheidingsteken, een aanhalingsteken of een regeleinde worden tussen dubbele aanhalingstekens gezet, waarbij aanhalingstekens binnenin worden verdubbeld.

Meer conversiehandleidingen