JSON in CSV umwandeln
Oder Untertiteltext einfügen
Was diese Konvertierung ändert
3 Sachen entfallen oder brauchen eine Entscheidung
- Formatierung
die gesamte Formatierung (Fett, Kursiv, Farbe, Kontur, Schatten)
- Positionierung
die Positionierung auf dem Bildschirm (jeder Block kehrt an die Standardposition zurück)
- Karaoke
Karaoke-Zeitangaben (Hervorhebung pro Silbe)
Diese Liste stammt aus der Fähigkeitsmatrix für diese beiden Formate, nicht aus der konkreten Datei, die Sie geladen haben. Eine bestimmte Datei kann mehr verlieren, wenn sie Merkmale nutzt, die das Format erlaubt, die Matrix aber nicht modelliert.
JSON in CSV umwandeln: Datei ablegen oder Text einfügen, die Tabellenfassung herunterladen. Alles rechnet der Browser, nichts verlässt den Rechner.
Die beiden Formate speichern nicht dasselbe: Stil, Position und Karaoke haben in CSV keinen Platz. Die Liste oben folgt aus dem, was beide Formate ausdrücken können – sie ist schon vor dem ersten Byte dieselbe.
Einzeln oder als ganze Staffel: Die Warteschlange arbeitet die Dateien der Reihe nach ab und bündelt die Ergebnisse in einem ZIP.
Beispiele
Eine typische JSON-Datei, nach CSV konvertiert
Eingabe
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
Ausgabe
start,end,text
00:00:00.000,00:00:02.000,"Hello world.
Second line."
00:00:02.500,00:00:04.000,"Plain line.
<i>Styled</i> line."
00:00:04.500,00:00:06.000,Roger: I am here.
In dieser Ausgabe verloren: Stil, Position und Karaoke. Alles andere stimmt Zeile für Zeile.
Dieselbe Konvertierung mit widerspenstiger Eingabe
Eingabe
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Ausgabe
start,end,text
00:00:00.000,00:00:01.000,First.
00:00:01.000,00:00:02.000,Second.
00:00:02.000,00:00:03.000,Third.
Solche Schäden haben echte Dateien – gemischte Zeilenenden, verirrte Leerzeichen, leere Felder. Vergleichen Sie mit dem sauberen Beispiel oben, um zu sehen, was der Parser verzeiht.
Häufige Fragen
Bleiben Fett und Kursiv beim Weg von JSON nach CSV erhalten?
Die Betonung ja, die Stiltabelle nein. Auszeichnungen, die zu einem Textstück gehören – fett, kursiv, unterstrichen, eine Farbe – landen als Tags (<i>, <b>, <u>, <font color="…">) in der Textzelle, weil CSV nur diese Art von Stil transportieren kann. Verloren geht die globale Stiltabelle: Schriftart, Größe, Kontur, Schatten und Ränder.
Was passiert mit der Bildschirmposition von JSON nach CSV?
Sie fällt weg. Eine Tabellenzelle hat nur start, end und text; für x, y und align gibt es keine Spalte. Jede cue steht danach wieder dort, wo der Player sie standardmäßig setzt – meist unten mittig.
Was passiert mit Karaoke-Timing von JSON nach CSV?
Das Timing geht, die Silben bleiben. Karaoke steckt in den tags einer JSON-Zeile und markiert, wann welche Silbe aufleuchtet; CSV kann keinen Moment innerhalb einer Zeile festhalten. Die Marken verschwinden, der Text bleibt als gewöhnlicher Zelleninhalt.
Wie sieht die CSV-Ausgabe aus, wenn JSON zu CSV wird?
Mit Kopfzeile start,end,text und danach einer Zeile pro cue. Felder mit Komma, Anführungszeichen oder Zeilenumbruch werden nach RFC 4180 in Anführungszeichen gesetzt, innere Anführungszeichen verdoppelt. Mehrzeilige cues stehen als mehrzeiliger, quotierter Text in einer Zelle.
Sind die JSON-Zeiten in der CSV-Datei exakt?
Ja, auf die Millisekunde. JSON schreibt 4126, CSV schreibt denselben Moment als 00:00:04.126 – mit Punkt, nicht mit Komma, damit kein Tabellenprogramm die Zeit als Datum liest. Gerundet oder verschoben wird nichts.
Warum erwartet deutsches Excel bei JSON nach CSV ein Semikolon, die Datei aber ein Komma?
Der Konverter schreibt RFC-4180-CSV mit Komma als Trenner und Punkt in den Zeiten; deutsches Excel erwartet standardmäßig Semikolon und Komma-Dezimalen. Die Datei sollte deshalb über Daten importieren geöffnet und das Komma als Trennzeichen eingestellt werden. Eine mit Semikolon exportierte Tabelle erkennt der Konverter derzeit nicht als Spaltenraster.