CSV-naar-JSON-converter
Plak CSV en krijg een JSON-array van objecten met je kopregel als sleutels, of een array van arrays als er geen kopregel is. Wissel de richting om een JSON-array van platte objecten terug naar CSV te zetten. Komma's, dubbele aanhalingstekens en regeleinden binnen velden worden correct gelezen, en de conversie draait in je browser. Gratis, geen registratie.
Richting
Zo gebruik je de CSV-naar-JSON-converter
- 1. Kies een richting. CSV → JSON is de standaard; JSON → CSV verwacht een JSON-array van platte objecten.
- 2. Stel de opties in. Het scheidingsteken kan automatisch worden herkend of vastgezet op komma, puntkomma of tab; bij JSON → CSV schrijft Automatisch detecteren komma's. Bij CSV → JSON kies je ook een inspringing van 2 spaties, 4 spaties of tab en of de eerste rij kopteksten bevat.
- 3. Plak en converteer. Druk op Converteren. Problemen — een niet-afgesloten aanhaling, ongeldige JSON, een array die niet uit objecten bestaat — verschijnen als melding in plaats van als uitvoer.
- 4. Kopieer of download. Resultaat kopiëren kopieert de uitvoer; de downloadknop slaat die op als
data.jsonofdata.csv.
Hoe het CSV-bestand wordt gelezen
CSV lijkt eenvoudig en is dat niet: hetzelfde bestand kan komma's, puntkomma's of tabs gebruiken, en een veld kan precies het teken bevatten dat de velden scheidt. Het dichtstbijzijnde equivalent van een specificatie is RFC 4180, die informatief is en geen standaard. Die stelt dat een veld met een komma, een dubbel aanhalingsteken of een regeleinde tussen dubbele aanhalingstekens moet staan, en dat een dubbel aanhalingsteken in zo'n veld als twee wordt geschreven. De converter volgt die regels en voegt wat soepelheid toe:
- Velden tussen aanhalingstekens. Een veld dat begint met een dubbel aanhalingsteken loopt tot het sluitende aanhalingsteken, dus het kan scheidingstekens, regeleinden en
""voor een letterlijk aanhalingsteken bevatten. Een aanhaling die nooit wordt gesloten stopt de conversie en meldt de regel waarop ze begon. - Regeleinden. LF, CRLF en een kale CR beëindigen allemaal een rij, en lege regels worden overgeslagen.
- Herkenning van scheidingstekens. In de automatische modus kijkt de converter alleen naar de eerste regel en kiest hij het scheidingsteken van komma, puntkomma of tab dat het vaakst voorkomt; bij gelijke stand wint de komma. Is de eerste regel ongebruikelijk — bijvoorbeeld één kolom of een titelrij — kies het scheidingsteken dan zelf. RFC 4180 kent alleen komma's; puntkomma's komen veel voor in bestanden die uit spreadsheets met Europese instellingen zijn geëxporteerd.
- Alles is tekst. De converter raadt geen types, dus
2020wordt de tekst"2020", geen getal, en een lege cel wordt"", niet null. Zet types achteraf om als je code getallen nodig heeft.
Uitgewerkt voorbeeld
Kopregel
name,note,year
Rij 1
"Smith, Jane","Said ""hello""",2020
Rij 2
Lee,short
Resultaat
Twee objecten. Smith, Jane heeft de opmerking Said "hello" en het jaar "2020"; Lee heeft de opmerking short en het jaar "".
De komma binnen Smith, Jane blijft door de aanhalingstekens in één veld, en de dubbele aanhalingstekens vallen samen tot één. De rij van Lee heeft één cel te weinig, dus het ontbrekende jaar wordt een lege tekst; een rij met extra cellen verliest de extra's, omdat er geen kopregel is om ze te benoemen. Haal het vinkje bij Eerste rij is kopteksten weg en dezelfde invoer wordt een array van arrays — [["name","note","year"],…] — met korte rijen die kort blijven.
Dubbele kolomnamen botsen: met twee kolommen die id heten, wint de latere en gaat de eerdere verloren, dus hernoem er eerst één.
Terug: JSON naar CSV
De omgekeerde richting verwacht een array op het hoogste niveau waarvan alle items objecten zijn. De kopregel is de vereniging van alle sleutels in de volgorde van eerste voorkomen, zodat objecten met verschillende sleutels toch op één lijn staan, en een ontbrekende waarde blijft leeg. Getallen en booleans worden geschreven zoals ze zijn, null wordt een lege cel, en een geneste array of object wordt als JSON-tekst in zijn cel geschreven en tussen aanhalingstekens gezet. Is je data genest, maak die dan eerst plat. Cellen met het scheidingsteken, een aanhaling of een regeleinde worden tussen aanhalingstekens gezet, met dubbele aanhalingstekens, en rijen worden met gewone regeleinden samengevoegd.
Toegepast op [{"name":"Smith, Jane","year":2020,"tags":["a","b"]},{"name":"Doe","note":"two\nlines","year":null}] schrijft de converter de kopregel name,year,tags,note, een eerste rij van "Smith, Jane", 2020 en de aangehaalde tekst ["a","b"], en een tweede rij voor Doe waarvan het jaar en de tags leeg zijn en waarvan de opmerking de tekst op twee regels is, tussen aanhalingstekens.
Welke tool heb je nodig?
| Je wilt | Gebruik |
|---|---|
| CSV naar of van een JSON-array converteren | Deze pagina |
| CSV als tabel zien om als HTML te kopiëren | CSV naar Tabel |
| Een Markdown-tabel maken van CSV | Markdown Tabelgenerator |
| Alleen sommige kolommen van een CSV houden | Kolomextractor |
| De JSON zelf controleren of opmaken | JSON-formatter |
| YAML of XML van en naar JSON omzetten | YAML naar JSON, XML naar JSON |
| CSV typografisch zetten voor een paper | LaTeX-tabelgenerator, APA-tabelgenerator |
Veelgestelde vragen
- Hoe zet ik CSV om naar JSON?
- Plak de CSV in het vak, laat CSV → JSON geselecteerd en druk op Converteren. Met het vinkje bij Eerste rij is kopteksten krijg je een array van objecten met de kopnamen als sleutels; zonder dat krijg je een array van arrays. Kopieer het resultaat of download het als data.json.
- Verwerkt de converter velden tussen aanhalingstekens met komma's of regeleinden?
- Ja. Een veld tussen dubbele aanhalingstekens kan het scheidingsteken, regeleinden en dubbele aanhalingstekens bevatten, zoals RFC 4180 beschrijft. Een openingsaanhaling zonder sluitende aanhaling stopt de conversie en noemt de regel waarop het veld begon.
- Welke scheidingstekens worden ondersteund?
- Komma, puntkomma en tab, ofwel automatisch herkend op basis van de eerste regel of met de hand gekozen. Met een verticale streep (|) gescheiden en andere scheidingstekens worden niet ondersteund; een kolomextractor of een zoek-en-vervangstap kan ze eerst door komma's vervangen.
- Waarom zijn mijn getallen tekst in de JSON?
- CSV heeft geen types en de converter raadt ze niet, dus elke waarde komt als tekst eruit en een lege cel als lege tekst. Zo blijven waarden als
007of1e5precies zoals ze geschreven zijn; zet types in je eigen code om waar je getallen nodig hebt. - Hoe werkt JSON naar CSV?
- Het heeft een JSON-array van objecten nodig. Elk object wordt een rij, de kolommen zijn alle sleutels die ergens voorkomen, en geneste objecten of arrays worden als JSON-tekst in hun cel geschreven. Ongeldige JSON wordt met een regelnummer gemeld als de parser van je browser een positie geeft.
- Waarom opent mijn CSV na het converteren verkeerd in Excel?
- Het bestand is gewone UTF-8 zonder byte-order-mark en gebruikt het scheidingsteken dat je koos, dus Excel in een regio die puntkomma's verwacht kan alles in één kolom zetten, en niet-Engelse tekens hebben mogelijk de importwizard met UTF-8 nodig. Het puntkomma-scheidingsteken kiezen lost het eerste probleem vaak op.
- Wordt mijn data ergens geüpload?
- Nee. Beide richtingen draaien in je browser, en de tekst die je plakt wordt niet naar CitationEasy gestuurd. De download wordt lokaal gemaakt.