JSON naar CSV-conversie transformeert gestructureerde gegevens van JSON-formaat naar door komma's gescheiden waarden — een tabelindeling die spreadsheets, databases en analysetools native ondersteunen. JSON slaat gegevens op als geneste objecten en arrays zonder vast schema. CSV slaat gegevens op als rijen en kolommen, waarbij een koprij de veldnamen definieert. Via deze conversie bereiken API-gegevens spreadsheets en databases.
CSV (Comma-Separated Values) is gedefinieerd door RFC 4180. Elke regel is één record, en velden binnen een regel worden gescheiden door een scheidingsteken — meestal een komma. Velden die het scheidingsteken, dubbele aanhalingstekens of regelafbrekingen bevatten, moeten tussen dubbele aanhalingstekens staan, waarbij interne aanhalingstekens worden geëscaped door ze te verdubbelen. Dit escapen is de voornaamste oorzaak van fouten bij het handmatig schrijven van een JSON-naar-CSV-converter.
De conversie is eenvoudig wanneer de invoer een platte array van objecten is met consistente sleutels. Elk object wordt één rij, en elke unieke sleutel wordt een kolomkop. Geneste objecten en arrays vereisen een afvlakkingsstap, en inconsistente sleutels tussen objecten vereisen een strategie voor ontbrekende velden — doorgaans een lege cel. Een betrouwbare converter verwerkt al deze gevallen automatisch.
Waarom JSON naar CSV converteren?
API's retourneren JSON, maar spreadsheets, SQL-databases en BI-tools verwachten tabelgegevens. JSON naar CSV converteren maakt het mogelijk gegevens tussen deze systemen te verplaatsen zonder aangepaste importscripts te schrijven.
⚡
Directe browserconversie
Plak je JSON en download het bestand direct. Geen serverupload, geen bestandsgroottebeperkingen van externe API's, geen wachten op verwerkingswachtrijen.
🔒
Privacy-eerst verwerking
Je gegevens blijven in je browser. De conversie wordt volledig in JavaScript op je apparaat uitgevoerd. Database-exports, gebruikersrecords en financiële gegevens verlaten je machine niet.
🔀
Meerdere scheidingstekens
Kies tussen komma, puntkomma, tab of pipe als scheidingsteken. Gebruik puntkomma's voor Europese spreadsheets, tabs voor TSV-bestanden of pipes voor imports van oudere systemen.
📋
Geen account vereist
Open de pagina en converteer. Geen aanmelding, geen API-sleutel, geen CLI-installatie. Werkt op elk apparaat met een moderne browser.
Toepassingen van JSON naar CSV
API-gegevens exporteren naar spreadsheets
REST API's retourneren JSON. Productmanagers en analisten hebben die gegevens nodig in Excel of Google Sheets. Converteer de API-response naar CSV en open het direct in elke spreadsheettoepassing.
Bulk-import in databases
PostgreSQL COPY, MySQL LOAD DATA en SQLite .import accepteren allemaal CSV. Converteer je dataset naar tabelindeling voor snelle bulk-import zonder een aangepast importscript te schrijven.
ETL-pipeline prototyping
ETL-pipelines hebben vaak tussenliggende uitvoer die als ruwe JSON moeilijk te inspecteren is. Converteer de uitvoer van een stap naar CSV en open het in een spreadsheet om transformaties te controleren vóór de volledige pipeline in gebruik wordt genomen.
Testdata voorbereiden voor QA
QA-engineers genereren testfixtures als JSON, maar veel testframeworks en data-gedreven testtools accepteren CSV voor geparametriseerde testinvoer. Converteer fixtures naar CSV zonder handmatig te herformatteren.
Loganalyse en rapportage
Gestructureerde JSON-logs van applicaties en clouddiensten kunnen worden geconverteerd naar CSV voor import in BI-tools zoals Tableau, Power BI of Looker voor visualisatie en rapportage.
Academische gegevensverwerking
Studenten en onderzoekers die werken met open data-API's ontvangen JSON-responses. Converteren naar CSV maakt analyse mogelijk in R, pandas, SPSS of Excel zonder parseerprogramma's te schrijven.
CSV-scheidingstekenreferentie
Het scheidingsteken scheidt velden binnen elke rij. Komma is het meest gebruikelijk, maar andere scheidingstekens zijn standaard in specifieke contexten. Een verkeerd scheidingsteken kiezen zorgt ervoor dat velden samenvoegen of onjuist splitsen wanneer het bestand wordt geopend.
Scheidingsteken
Teken
Extensie
Wanneer te gebruiken
Comma
,
.csv
Default for most spreadsheets and databases
Semicolon
;
.csv
Standard in locales where comma is a decimal separator (DE, FR, BR)
Tab
\t
.tsv
Avoids escaping when field values contain commas or semicolons
Pipe
|
.csv
Used in fixed-width legacy systems and some ETL pipelines
Geneste JSON verwerken in CSV
CSV is een plat formaat zonder native mogelijkheid om geneste objecten of arrays weer te geven. Wanneer je JSON geneste structuren bevat, moet de converter deze afvlakken tot kolommen. Er zijn meerdere strategieën, en de juiste keuze hangt af van hoe de CSV wordt verwerkt.
Puntnotatie-afvlakking
Geneste sleutels worden samengevoegd met punten: {"address": {"city": "Amsterdam"}} wordt een kolom genaamd address.city met waarde Amsterdam. Dit is de meest gebruikelijke aanpak en werkt goed met tools die geneste veldverwijzingen ondersteunen.
Array-indexkolommen
Arrays worden uitgebreid naar genummerde kolommen: {"tags": ["a", "b"]} wordt tags.0 = a, tags.1 = b. Dit behoudt alle waarden maar maakt veel kolommen wanneer arrays groot zijn.
JSON-string als terugvaloptie
Complexe geneste waarden worden geserialiseerd als JSON-strings in de CSV-cel: de cel bevat de ruwe JSON-tekst. Dit behoudt de volledige structuur, maar vereist dat de verwerker de celwaarde parseert.
Geneste velden negeren
Sommige converters laten geneste objecten en arrays volledig weg en bewaren alleen scalaire velden (string, getal, boolean, null). Dit levert een nette CSV op maar verliest gegevens. Nuttig alleen wanneer je weet dat de geneste velden niet nodig zijn.
Codevoorbeelden
JSON programmatisch naar CSV converteren vereist het afhandelen van koptekstextractie, veldaanhalingstekens en scheidingstekenescaping. De meeste talen hebben ingebouwde of standaardbibliotheekondersteuning voor CSV-schrijven.
# Using jq to convert JSON array to CSV
echo '[{"name":"Alice","age":30},{"name":"Bob","age":25}]' | \
jq -r '(.[0] | keys_unsorted) as $k | $k, (.[] | [.[$k[]]] ) | @csv'
# → "name","age"
# → "Alice",30
# → "Bob",25
# Using Miller (mlr) for streaming conversion
echo '[{"name":"Alice","age":30}]' | mlr --json --ocsv cat
# → name,age
# → Alice,30
Go
package main
import (
"encoding/csv"
"encoding/json"
"fmt"
"os"
)
func main() {
jsonStr := `[{"name":"Alice","age":30},{"name":"Bob","age":25}]`
var data []map[string]interface{}
json.Unmarshal([]byte(jsonStr), &data)
w := csv.NewWriter(os.Stdout)
// Write header
headers := []string{"name", "age"}
w.Write(headers)
// Write rows
for _, row := range data {
record := make([]string, len(headers))
for i, h := range headers {
record[i] = fmt.Sprintf("%v", row[h])
}
w.Write(record)
}
w.Flush()
// → name,age
// → Alice,30
// → Bob,25
}
Veelgestelde vragen
Welke JSON-structuur verwacht deze converter?
De converter verwacht een JSON-array van objecten, zoals [{'"name":"Jan"'},{'"name":"Marie"'}]. Elk object in de array wordt één rij in de uitvoer, en de objectsleutels worden kolomkoppen. Een enkel JSON-object (niet in een array gewikkeld) wordt behandeld als een tabel met één rij.
Hoe worden geneste objecten en arrays verwerkt?
Geneste waarden worden afgevlakt met puntnotatie. Bijvoorbeeld, {"address":{"city":"Amsterdam"}'} levert een kolom genaamd address.city op. Arrays worden uitgebreid naar geïndexeerde kolommen (tags.0, tags.1). Dit behoudt gegevens terwijl de uitvoer plat blijft.
Wat gebeurt er wanneer objecten verschillende sleutels hebben?
De converter verzamelt alle unieke sleutels van alle objecten in de array en gebruikt deze als kolomkoppen. Objecten zonder een bepaalde sleutel krijgen een lege cel voor die kolom. Er gaan geen gegevens verloren, en de kolomvolgorde volgt de volgorde waarin sleutels voor het eerst verschijnen.
Kan ik een puntkomma of tab gebruiken in plaats van een komma?
Ja. De tool ondersteunt komma, puntkomma, tab en pipe als scheidingsteken. Gebruik puntkomma's wanneer je gegevens of regio komma's als decimaalteken gebruiken (gangbaar in Nederlandse, Duitse, Franse en Braziliaanse spreadsheets). Gebruik tabs voor TSV-bestanden die worden verwerkt door Unix-tools.
Is de conversie verliesvrij?
Voor platte JSON-arrays met consistente scalaire waarden, ja. Het uitvoerbestand bevat dezelfde gegevens en kan worden teruggeconverteerd naar identieke JSON. Voor geneste structuren verandert afvlakking de vorm van de gegevens. Array-waarden geserialiseerd in geïndexeerde kolommen of JSON-strings kunnen worden gereconstrueerd, maar de retourconversie vereist kennis van de oorspronkelijke structuur.
Hoe groot een JSON-bestand kan ik converteren?
De tool draait in je browser en verwerkt gegevens in het geheugen — bestanden tot 10–20 MB converteren zonder problemen op moderne apparaten. Voor grotere bestanden gebruik je een CLI-tool zoals jq, Miller of een Python-script met de csv-module, die gegevens als stream verwerken.
Is het veilig om gevoelige gegevens in dit tool te plakken?
Ja. Alle verwerking vindt plaats in je browser met JavaScript. Er worden geen gegevens naar een server verzonden. Je kunt dit bevestigen door de ontwikkelaarstools van je browser te openen en het tabblad Netwerk te controleren tijdens de conversie.