JSONL-Tutorial: JSONL-Dateien erstellen, lesen & konvertieren

Ein Schritt-für-Schritt-Tutorial mit allem, was Sie über die Arbeit mit JSONL (JSON Lines)-Dateien wissen müssen. Enthält Code-Beispiele in Python, JavaScript und CLI-Tools.

Zuletzt aktualisiert: Februar 2026

Was ist JSONL?

JSONL (JSON Lines) ist ein leichtgewichtiges Textformat, bei dem jede Zeile ein separater, gültiger JSON-Wert ist. Im Gegensatz zu Standard-JSON, das alle Daten in einem einzelnen Array oder Objekt umschließt, speichert JSONL einen Datensatz pro Zeile, getrennt durch Zeilenumbruchzeichen (\n).

Diese zeilenweise Struktur macht JSONL ideal für das Streaming großer Datensätze, das Anhängen von Datensätzen ohne Umschreiben der Datei und das parallele Verarbeiten von Daten. Es wird weit verbreitet von OpenAI für Fine-Tuning-Datensätze, von Logging-Systemen wie dem ELK-Stack und von Big-Data-Tools wie BigQuery und Apache Spark verwendet.

example.jsonl
{"id":1,"name":"Alice","role":"engineer"}
{"id":2,"name":"Bob","role":"designer"}
{"id":3,"name":"Charlie","role":"manager"}

So erstellen Sie JSONL-Dateien

Das Erstellen einer JSONL-Datei ist einfach: Serialisieren Sie jeden Datensatz als einzeilige JSON-Zeichenfolge und schreiben Sie sie gefolgt von einem Zeilenumbruch. Hier sind Beispiele in den beliebtesten Sprachen.

Python
import json
records = [
{"id": 1, "name": "Alice", "role": "engineer"},
{"id": 2, "name": "Bob", "role": "designer"},
{"id": 3, "name": "Charlie", "role": "manager"},
]
with open("output.jsonl", "w", encoding="utf-8") as f:
for record in records:
f.write(json.dumps(record, ensure_ascii=False) + "\n")
print("Created output.jsonl with", len(records), "records")
JavaScript / Node.js
import { writeFileSync } from 'fs';
const records = [
{ id: 1, name: 'Alice', role: 'engineer' },
{ id: 2, name: 'Bob', role: 'designer' },
{ id: 3, name: 'Charlie', role: 'manager' },
];
const jsonl = records
.map(record => JSON.stringify(record))
.join('\n');
writeFileSync('output.jsonl', jsonl + '\n', 'utf-8');
console.log(`Created output.jsonl with ${records.length} records`);

Manuell / Texteditor

Sie können JSONL-Dateien auch in jedem Texteditor erstellen. Tippen Sie einfach ein gültiges JSON-Objekt pro Zeile ohne Kommas zwischen den Zeilen, und speichern Sie die Datei mit der .jsonl-Erweiterung. Stellen Sie sicher, dass jede Zeile vollständig und gültiges JSON ist.

So lesen Sie JSONL-Dateien

Da jede Zeile ein unabhängiger JSON-Wert ist, ist das Lesen von JSONL-Dateien so einfach wie das Iterieren über Zeilen. Hier sind die gängigsten Ansätze.

Python
import json
with open("data.jsonl", "r", encoding="utf-8") as f:
for line_number, line in enumerate(f, 1):
line = line.strip()
if not line:
continue # skip empty lines
record = json.loads(line)
print(f"Line {line_number}: {record['name']} - {record['role']}")
JavaScript / Node.js
import { createReadStream } from 'fs';
import { createInterface } from 'readline';
const rl = createInterface({
input: createReadStream('data.jsonl', 'utf-8'),
});
let lineNumber = 0;
for await (const line of rl) {
if (!line.trim()) continue; // skip empty lines
lineNumber++;
const record = JSON.parse(line);
console.log(`Line ${lineNumber}: ${record.name} - ${record.role}`);
}
Kommandozeile (grep / jq)
# Erste 10 Zeilen anzeigen
head -n 10 data.jsonl
# Gesamtzahl der Datensätze zählen
wc -l data.jsonl
# Jede Zeile mit jq schön drucken
cat data.jsonl | jq .
# Datensätze filtern, wo role "engineer" ist
cat data.jsonl | jq 'select(.role == "engineer")'
# Nur das Name-Feld extrahieren
cat data.jsonl | jq -r '.name'
# Nach Zeilen suchen, die ein Schlüsselwort enthalten
grep '"Alice"' data.jsonl

So konvertieren Sie JSON in JSONL

Wenn Sie ein Standard-JSON-Array haben, bedeutet die Konvertierung in JSONL, dass jedes Element als separate Zeile geschrieben wird. Dies ist eine der häufigsten JSONL-Operationen.

Python
import json
# JSON-Array lesen
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f) # expects a JSON array
# Als JSONL schreiben
with open("data.jsonl", "w", encoding="utf-8") as f:
for record in data:
f.write(json.dumps(record, ensure_ascii=False) + "\n")
print(f"Converted {len(data)} records from JSON to JSONL")
JavaScript / Node.js
import { readFileSync, writeFileSync } from 'fs';
// JSON-Array lesen
const data = JSON.parse(readFileSync('data.json', 'utf-8'));
// Als JSONL schreiben
const jsonl = data
.map(record => JSON.stringify(record))
.join('\n');
writeFileSync('data.jsonl', jsonl + '\n', 'utf-8');
console.log(`Converted ${data.length} records from JSON to JSONL`);

Stattdessen online konvertieren

Kein Code schreiben? Verwenden Sie unseren kostenlosen Online JSON to JSONL Converter — Datei einfügen oder hochladen und sofort konvertieren.

So konvertieren Sie CSV in JSONL

Die Konvertierung von CSV in JSONL bildet jede Zeile auf ein JSON-Objekt ab, wobei der CSV-Header als Feldnamen verwendet wird. Dies ist nützlich, wenn tabellarische Daten in ein Format migriert werden, das für Streaming oder Machine Learning geeignet ist.

Python
import csv
import json
with open("data.csv", "r", encoding="utf-8") as csv_file:
reader = csv.DictReader(csv_file)
with open("data.jsonl", "w", encoding="utf-8") as jsonl_file:
for row in reader:
jsonl_file.write(json.dumps(row, ensure_ascii=False) + "\n")
print("Converted CSV to JSONL successfully")
JavaScript / Node.js
import { readFileSync, writeFileSync } from 'fs';
const csv = readFileSync('data.csv', 'utf-8');
const lines = csv.trim().split('\n');
const headers = lines[0].split(',');
const jsonl = lines.slice(1).map(line => {
const values = line.split(',');
const obj = {'};
headers.forEach((h, i) => obj[h.trim()] = values[i]?.trim());
return JSON.stringify(obj);
}).join('\n');
writeFileSync('data.jsonl', jsonl + '\n', 'utf-8');
console.log('Converted CSV to JSONL successfully');

CSV online konvertieren

CSV-Dateien sofort in JSONL-Format konvertieren mit unserem kostenlosen Online-Tool — kein Code erforderlich.

JSONL-Best-Practices

1

Verwenden Sie UTF-8-Kodierung für alle JSONL-Dateien. Dies gewährleistet Kompatibilität über Plattformen hinweg und unterstützt internationale Zeichen.

2

Schreiben Sie genau ein JSON-Objekt pro Zeile. Teilen Sie niemals ein JSON-Objekt über mehrere Zeilen auf oder setzen Sie mehrere Objekte in dieselbe Zeile.

3

Fügen Sie keine Kommas zwischen Zeilen hinzu. Im Gegensatz zu JSON-Arrays verwendet JSONL Zeilenumbruchzeichen als einziges Trennzeichen.

4

Validieren Sie jede Zeile unabhängig. Jede Zeile muss ein vollständiger, gültiger JSON-Wert sein. Verwenden Sie einen JSONL-Validator, um Syntaxfehler frühzeitig zu erkennen.

5

Verwenden Sie Streaming-Lesevorgänge für große Dateien. Anstatt die gesamte Datei in den Speicher zu laden, verarbeiten Sie sie zeilenweise mit readline (Node.js) oder Datei-Iteration (Python).

6

Halten Sie Datensätze in ihrer Struktur konsistent. Während JSONL unterschiedliche Schemata pro Zeile erlaubt, macht eine einheitliche Struktur die Datenverarbeitung viel einfacher.

7

Vermeiden Sie nachgestellte Leerzeichen. Stellen Sie sicher, dass Zeilen keine zusätzlichen Leerzeichen oder Tabs haben, die Parsing-Probleme verursachen könnten.

8

Beenden Sie die Datei mit einem Zeilenumbruch. Ein abschließender Zeilenumbruch nach dem letzten Datensatz hilft Tools wie wc und cat, die Datei korrekt zu verarbeiten.

Häufige JSONL-Fehler

In ein Array einpacken
Wrong
[
  {"name":"Alice"},
  {"name":"Bob"}
]
Correct
{"name":"Alice"}
{"name":"Bob"}

JSONL ist kein JSON-Array. Umschließen Sie Zeilen nicht in eckigen Klammern und fügen Sie keine Kommas zwischen ihnen hinzu. Jede Zeile steht für sich.

Kommas zwischen Zeilen
Wrong
{"name":"Alice"},
{"name":"Bob"},
Correct
{"name":"Alice"}
{"name":"Bob"}

Nachgestellte Kommas nach jeder Zeile oder Kommas zwischen Zeilen sind in JSONL ungültig. Das Zeilenumbruchzeichen ist das einzige Trennzeichen.

Mehrzeilige JSON-Objekte
Wrong
{
  "name": "Alice",
  "age": 30
}
Correct
{"name":"Alice","age":30}

Jedes JSON-Objekt muss in eine einzelne Zeile passen. Schön formatiertes JSON mit Einrückung und Zeilenumbrüchen ist kein gültiges JSONL.

Nicht maskierte Sonderzeichen
Wrong
{"text":"She said "hello""}
Correct
{"text":"She said \"hello\""}

Anführungszeichen und Sonderzeichen innerhalb von JSON-Strings müssen ordnungsgemäß mit Backslashes maskiert werden. Nicht maskierte Anführungszeichen brechen den JSON-Parser.

JSONL validieren

Validieren Sie Ihre JSONL-Datei nach der Erstellung, um Syntaxfehler frühzeitig zu erkennen. Unser kostenloser Validator prüft jede Zeile sofort.

Probieren Sie unsere kostenlosen JSONL-Tools

JSONL-Dateien bis zu 1 GB direkt in Ihrem Browser anzeigen, validieren und konvertieren. Keine Uploads erforderlich, 100 % privat.

Häufig gestellte Fragen

JSONL-Tutorial — JSONL-Dateien erstellen, lesen, validier...