In diesem Artikel
Was ist JSON Lines?
JSON Lines (auch JSONL oder Newline-Delimited JSON, NDJSON, genannt) ist ein Textformat, bei dem jede Zeile ein gültiges JSON-Objekt ist. Anders als reguläres JSON, das alles in ein Array einschließt, enthält JSONL einen Datensatz pro Zeile ohne umschließende Klammern. Das macht es ideal für das Streamen, Anhängen und Verarbeiten großer Datensätze Zeile für Zeile.
Eine typische JSONL-Datei sieht so aus: Jede Zeile enthält ein vollständiges JSON-Objekt mit eigenen Schlüsseln und Werten. Es gibt keine Kommas zwischen den Zeilen und kein umschließendes Array. Diese Einfachheit macht das Format so leistungsfähig für Datenpipelines, Logdateien und Datensätze im maschinellen Lernen.
Warum JSONL wichtig ist
JSONL hat sich in mehreren wichtigen Anwendungsfällen im modernen Data Engineering und auf Cloud-Plattformen zum bevorzugten Format entwickelt.
- Streaming-Verarbeitung — da jede Zeile unabhängig ist, können Sie Dateien Zeile für Zeile verarbeiten, ohne den gesamten Datensatz in den Arbeitsspeicher zu laden — entscheidend bei mehrere Gigabyte großen Dateien
- BigQuery- und Cloud-Importe — Google BigQuery, Amazon Athena und andere Cloud-Data-Warehouses unterstützen JSONL nativ für das Laden von Daten, wodurch es zum Standardformat für Cloud-Datenimporte wird
- Datensätze für maschinelles Lernen — viele ML-Frameworks, darunter Hugging Face, OpenAI-Feintuning und BERT-Training, erwarten Daten im JSONL-Format mit einem Beispiel pro Zeile
- Logdateien und Ereignis-Streams — Anwendungslogs nutzen häufig JSONL, weil neue Ereignisse an eine Datei angehängt werden können, ohne bestehende Inhalte zu ändern oder eine Array-Syntax zu pflegen
Kostenlos testen – keine Registrierung erforderlich
CSV in JSONL konvertieren →CSV in JSONL konvertieren
Bei der Konvertierung von CSV in JSONL wird jede Zeile Ihrer CSV-Datei auf ein JSON-Objekt abgebildet, wobei die Spaltenüberschriften zu den Schlüsseln werden.
- Überschriften als Schlüssel — die erste Zeile Ihrer CSV-Datei liefert die Eigenschaftsnamen für jedes JSON-Objekt, daher sollten die Spaltenüberschriften sauber und einheitlich sein
- Trennzeichenerkennung — der Konverter verarbeitet Komma-, Semikolon-, Tabulator- und Pipe-Trennzeichen und erkennt das Format automatisch oder lässt Sie es explizit angeben
- Typerkennung — numerische Werte werden in JSON-Zahlen statt in Zeichenketten umgewandelt, und leere Zellen können je nach Ihrer Präferenz als null ausgegeben oder ganz weggelassen werden
Häufig gestellte Fragen
Was ist der Unterschied zwischen JSONL und regulärem JSON?
Reguläres JSON schließt alle Datensätze in ein Array mit eckigen Klammern ein und trennt sie durch Kommas. JSONL enthält ein JSON-Objekt pro Zeile ohne Array-Umhüllung und ohne Kommas zwischen den Datensätzen. Das bedeutet, dass Sie an eine JSONL-Datei anhängen können, ohne bestehende Inhalte zu ändern, sie Zeile für Zeile ohne vollständigen Parser verarbeiten und sie streamen können, ohne die gesamte Datei zu puffern.
Wann sollte ich JSONL statt CSV verwenden?
Verwenden Sie JSONL, wenn Ihre Daten verschachtelte Strukturen oder uneinheitliche Spalten aufweisen oder von APIs und Cloud-Diensten verarbeitet werden müssen. CSV eignet sich besser für einfache tabellarische Daten, die in Tabellenkalkulationen geöffnet werden. JSONL bewahrt Datentypen (Zahlen, boolesche Werte, null), während CSV alles als Text behandelt. JSONL verarbeitet außerdem Werte mit Kommas und Zeilenumbrüchen ohne Escaping-Probleme.
Welche Dateiendung sollte ich verwenden?
Die gängigsten Endungen sind .jsonl und .ndjson. Manche Tools akzeptieren auch .json mit einem Objekt pro Zeile. Verwenden Sie .jsonl für Klarheit, da es jedem, der die Datei betrachtet, sofort signalisiert, dass sie zeilenweise getrennt und nicht standardmäßiges JSON ist. BigQuery und die meisten Cloud-Tools akzeptieren alle drei Endungen.
Können JSONL-Dateien gestreamt werden?
Ja, das ist einer der Hauptvorteile von JSONL. Da jede Zeile unabhängig und in sich abgeschlossen ist, können Sie mit einfacher Readline-Logik in jeder Programmiersprache jeweils eine Zeile lesen und verarbeiten. Das macht JSONL ideal für die Verarbeitung von Datensätzen, die zu groß für den Arbeitsspeicher sind — anders als reguläres JSON, das das Parsen der vollständigen Array-Struktur erfordert.