Was ist JSONL? Vollständige Anleitung zum JSON Lines Format

Alles, was Sie über JSON Lines wissen müssen — Syntax, Beispiele, Anwendungsfälle und Best Practices.

Letzte Aktualisierung: Februar 2026

Was ist JSONL?

JSONL (JSON Lines), auch bekannt als Newline Delimited JSON (NDJSON), ist ein textbasiertes Datenformat, bei dem jede Zeile ein gültiger JSON-Wert ist, getrennt durch Zeilenumbruchzeichen. Im Gegensatz zu Standard-JSON, das Daten in einem einzelnen Array oder Objekt umhüllt, speichert JSONL einen Datensatz pro Zeile.

Dieses einfache Design macht JSONL ideal für Streaming, Protokollierung und die Verarbeitung großer Datensätze — jede Zeile kann unabhängig gelesen, geparst und verarbeitet werden, ohne die gesamte Datei in den Speicher laden zu müssen.

Das Format wurde durch Tools und Plattformen populär, die massive Datenmengen verarbeiten, darunter OpenAI (für Fine-Tuning-Datensätze), BigQuery, Apache Spark und Protokollverwaltungssysteme.

JSONL-Syntaxregeln

Das JSONL-Format folgt einigen einfachen Regeln:

  • Jede Zeile muss ein gültiger JSON-Wert sein (Objekt, Array, String, Zahl, Boolean oder null)
  • Zeilen werden durch Zeilenumbruchzeichen (\n) getrennt
  • Keine Kommas oder Trennzeichen zwischen den Zeilen
  • Dateien müssen UTF-8-Codierung verwenden
  • Ein abschließender Zeilenumbruch am Dateiende ist optional
  • Leere Zeilen werden von den meisten Parsern ignoriert
Gültige JSONL-Datei
{"name":"Alice","age":30,"city":"New York"}
{"name":"Bob","age":25,"city":"London"}
{"name":"Charlie","age":35,"city":"Tokyo"}

Hinweis: Jede Zeile ist ein vollständiges, eigenständiges JSON-Objekt. Es gibt keine Kommas zwischen den Zeilen und kein umschließendes Array.

JSONL-Beispiele

Einfache Objekte
{"id":1,"name":"Alice","email":"alice@example.com"}
{"id":2,"name":"Bob","email":"bob@example.com"}
{"id":3,"name":"Charlie","email":"charlie@example.com"}
Verschachtelte Objekte
{"user":{"name":"Alice","age":30},"scores":[95,87,92]}
{"user":{"name":"Bob","age":25},"scores":[88,91,76]}

JSONL-Zeilen müssen nicht alle den gleichen Typ haben — jede Zeile muss nur gültiges JSON sein:

Gemischte Typen
{"event":"login","user":"alice","timestamp":"2026-01-15T10:30:00Z"}
{"event":"purchase","user":"alice","amount":29.99,"items":["book","pen"]}
{"event":"logout","user":"alice","timestamp":"2026-01-15T11:45:00Z"}

Eine der beliebtesten Verwendungen von JSONL ist für OpenAI Fine-Tuning-Datensätze:

PopularOpenAI Fine-Tuning-Format
{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is JSONL?"},{"role":"assistant","content":"JSONL is a text format where each line is a valid JSON value."}]}
{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"How do I read a JSONL file?"},{"role":"assistant","content":"Read the file line by line, parsing each line as JSON."}]}

Wie man JSONL-Dateien liest

JSONL-Dateien können mit jedem Tool gelesen werden, das zeilenweise Textverarbeitung unterstützt. Hier sind die gängigsten Methoden:

Verwenden Sie Standard-Unix-Tools zum Inspizieren von JSONL-Dateien:

Befehlszeile
# View first 5 lines
head -n 5 data.jsonl
# Count total lines (records)
wc -l data.jsonl
# Pretty-print each line with jq
cat data.jsonl | jq .
# Filter by field value
cat data.jsonl | jq 'select(.age > 30)'

Pythons eingebautes json-Modul verarbeitet JSONL auf natürliche Weise:

Python
import json
with open('data.jsonl', 'r') as f:
for line in f:
record = json.loads(line)
print(record['name'])

JSONL-Dateien zeilenweise in Node.js lesen:

JavaScript / Node.js
import { createReadStream } from 'fs';
import { createInterface } from 'readline';
const rl = createInterface({
input: createReadStream('data.jsonl')
});
for await (const line of rl) {
const record = JSON.parse(line);
console.log(record.name);
}

Online JSONL-Viewer

Für einen visuellen Ansatz verwenden Sie jsonl.co, um JSONL-Dateien bis zu 1 GB zu öffnen und zu durchsuchen — kein Upload, alles läuft in Ihrem Browser.

Wie man JSONL-Dateien erstellt

JSONL-Dateien zu erstellen ist unkompliziert — schreiben Sie einfach einen JSON-Wert pro Zeile.

Python
import json
records = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25},
{"name": "Charlie", "age": 35},
]
with open('output.jsonl', 'w') as f:
for record in records:
f.write(json.dumps(record) + '\n')
JavaScript / Node.js
import { writeFileSync } from 'fs';
const records = [
{ name: 'Alice', age: 30 },
{ name: 'Bob', age: 25 },
{ name: 'Charlie', age: 35 },
];
const jsonl = records
.map(r => JSON.stringify(r))
.join('\n');
writeFileSync('output.jsonl', jsonl + '\n');

Kann man Kommentare in JSONL hinzufügen?

Nein. Die JSONL-Spezifikation unterstützt keine Kommentare. Jede Zeile in einer JSONL-Datei muss ein gültiger JSON-Wert sein — und JSON selbst hat keine Kommentarsyntax.

Wenn Sie Metadaten oder Anmerkungen zusammen mit Ihren Daten einschließen müssen, gibt es gängige Umgehungen:

  • 1Fügen Sie ein Metadatenfeld zu Ihren JSON-Objekten hinzu: '{'"_comment": "test data", "name": "Alice"'}'
  • 2Verwenden Sie eine separate Metadatendatei neben Ihrer JSONL-Datei
  • 3Fügen Sie Metadaten als erste Zeile der Datei hinzu: '{'"_meta": '{'"version": "1.0", "created": "2026-01-15"'}''}'

Beachten Sie, dass alle "Kommentar"-Felder als reguläre Daten geparst werden. Anwendungen, die die JSONL-Datei verarbeiten, sollten so gestaltet sein, dass sie Metadatenfelder ignorieren.

JSONL vs JSON

Der wesentliche Unterschied liegt in der Struktur. JSON umhüllt alles in einem einzelnen Wert, während JSONL einen Wert pro Zeile speichert.

JSONStandard JSON
[
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25}
]
JSONLJSONL (JSON Lines)
{"name":"Alice","age":30}
{"name":"Bob","age":25}
  • JSON muss vollständig in den Speicher geladen werden, um geparst zu werden; JSONL kann zeilenweise gelesen werden
  • JSON benötigt Kommas zwischen Elementen; JSONL verwendet Zeilenumbrüche
  • JSON ist besser für Konfigurationsdateien und APIs; JSONL ist besser für große Datensätze und Streaming
  • Daten an JSON anzuhängen erfordert das Neuschreiben der gesamten Datei; JSONL hängt einfach eine neue Zeile an

Für einen detaillierten Vergleich siehe unseren vollständigen JSON vs JSONL guide.

Häufige Anwendungsfälle

Machine Learning & KI

Am beliebtesten

JSONL ist das Standardformat für ML-Trainingsdaten. OpenAI, Hugging Face und andere KI-Plattformen verwenden JSONL für Fine-Tuning-Datensätze, weil jedes Trainingsbeispiel eine eigenständige Zeile ist, die effizient gemischt, gesampelt und gestreamt werden kann.

Protokolldateien & Event-Streams

JSONL

Strukturierte Protokollierungssysteme (ELK Stack, Datadog, CloudWatch) geben Protokolle im JSONL-Format aus. Jeder Protokolleintrag ist eine JSON-Zeile, was das Anhängen neuer Einträge und die Echtzeitverarbeitung von Protokollen erleichtert.

Big Data Verarbeitung

JSONL

Tools wie Apache Spark, BigQuery und AWS Athena unterstützen JSONL nativ. Das zeilenweise Format ermöglicht parallele Verarbeitung über verteilte Systeme — jeder Worker kann einen Teil der Zeilen unabhängig verarbeiten.

Streaming-APIs

JSONL

APIs, die große Ergebnismengen zurückgeben, verwenden oft JSONL-Streaming. Der Client kann sofort mit der Verarbeitung der Ergebnisse beginnen, sobald sie eintreffen, ohne auf die vollständige Antwort warten zu müssen.

JSONL-Dateierweiterungen

JSONL-Dateien verwenden häufig diese Erweiterungen:

.jsonlDie Standard-JSONL-Erweiterung, am weitesten verbreitet
.ndjsonNewline Delimited JSON — technisch dasselbe Format mit einem anderen Namen
.jsonEinige Tools geben JSONL mit einer .json-Erweiterung aus, was zu Verwirrung führen kann

Alle drei Erweiterungen enthalten dasselbe Format — ein JSON-Wert pro Zeile. Der MIME-Typ für JSONL ist application/jsonl oder application/x-ndjson.

Kostenlose JSONL-Tools ausprobieren

Validieren Sie Ihre JSONL-Syntax, konvertieren Sie zwischen Formaten und zeigen Sie Dateien an — alles in Ihrem Browser.

Probieren Sie unseren JSONL-Viewer

JSONL-Dateien bis zu 1 GB öffnen, anzeigen und bearbeiten — direkt im Browser. Kein Upload, 100 % privat.

Häufig gestellte Fragen

Was ist JSONL? JSON Lines Format-Leitfaden, Beispiele & A...