CSV naar JSON
Of plak ondertiteltekst
Wat deze conversie verandert
In deze richting gaat niets verloren — elk kenmerk van het bronformaat heeft in het doelformaat een plek.
Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.
Deze pagina zet CSV om naar JSON. Je sleept een bestand naar het vak of plakt de tekst erin, en je krijgt de JSON-versie terug. De conversie draait volledig in je browser: er wordt niets geüpload en je hebt geen account nodig.
In deze richting gaat niets verloren. Elke eigenschap die CSV kan uitdrukken heeft een equivalent in JSON, dus je krijgt dezelfde ondertitels in een andere verpakking: tijdlijn, regelbreuken en tekst blijven allemaal intact. Dat geldt voor elk CSV-bestand, ook eentje dat alles gebruikt wat het formaat toestaat.
Eén bestand kan, een heel seizoen ook: de wachtrij werkt ze in volgorde af en levert één ZIP op.
Voorbeelden
Een typisch CSV-bestand, omgezet naar JSON
Invoer
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."
Uitvoer
{
"version": 1,
"cues": [
{
"start": 1000,
"end": 3500,
"lines": [
"The quick brown fox."
]
},
{
"start": 4000,
"end": 6250,
"lines": [
"Jumps over, the lazy dog."
]
},
{
"start": 7000,
"end": 9000,
"lines": [
"Two lines here.",
"And a second one."
]
}
]
}
Hier gaat niets verloren: tijdlijn, regelbreuken en tekst komen rij voor rij overeen.
Een rommelig CSV-bestand, en wat er nog uit wordt gelezen
Invoer
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
Uitvoer
{
"version": 1,
"cues": [
{
"id": "1",
"start": 1000,
"end": 4000,
"lines": [
"Hello there, friend."
]
},
{
"id": "2",
"start": 5000,
"end": 7000,
"lines": [
"Second line."
]
},
{
"id": "4",
"start": 10000,
"end": 10001,
"lines": [
"End before start."
]
},
{
"id": "5",
"start": 12000,
"end": 14000,
"lines": [
"Unquoted comma in text, right here."
]
}
]
}
Echte bestanden komen met een BOM, Windows-regeleinden, een losse regel vóór een tijdcode of een tijdcode die helemaal niet leesbaar is. Niets daarvan gooit een fout: wat niet begrepen wordt, wordt gemeld in plaats van stil weggegooid.
Veelgestelde vragen
Hoe ziet de uitvoer eruit als CSV JSON wordt?
Als JSON: een array met blokobjecten, elk met een eigen id, start en end. Elk CSV-blok wordt één JSON-blok, in dezelfde volgorde en met dezelfde tekst.
Zijn de CSV-tijden exact in het JSON-bestand?
Ja, tot op de milliseconde — fijner gaat geen van beide formaten. CSV schrijft een moment als 00:00:04.126 en JSON schrijft hetzelfde moment als 4126; niets wordt afgerond of verschoven, en een blok dat 2,9 seconden in beeld stond, staat dat nog steeds.
Hoe komt een CSV-blok van twee regels in JSON terecht?
Als twee regels in de lines-array van het blok. Het paar blijft bij elkaar: de twee CSV-regels horen in de JSON-uitvoer nog steeds bij één ondertitel, en een speler toont ze samen.
Behouden CSV-blokken hun volgorde in de JSON-uitvoer?
Ja, en ze worden onderweg op starttijd gesorteerd: vroegste eerst, zoals elk formaat hier ze verwacht en zoals spelers ze lezen. Stond jouw CSV niet in volgorde, dan zet de JSON-uitvoer de blokken weer netjes achter elkaar. Dat is een ingreep in de bestandsstructuur, niet in de inhoud, en ze is bewust.
Kan ik de JSON terug naar CSV omzetten?
Ja, en dat is de verliesgevende richting: stijl, positie en karaoke hebben in CSV geen plek. Deze kant op gaat niets verloren, dus die prijs betaal je alleen als je teruggaat.
Blijft de tekencodering van het CSV-bestand behouden in de JSON-uitvoer?
Nee. De uitvoer is UTF-8 met Unix-regeleinden en zonder BOM, wat het CSV-bestand ook gebruikte. Een bestand in UTF-16 of in een Windows-codering met één byte wordt bij het inlezen gedecodeerd (het resultaatpaneel zegt het als dat gebeurt); wat eruit komt is altijd dezelfde UTF-8-JSON.