JSON vs JSONL: Was ist der Unterschied?

Eine vollständige Anleitung zum Verständnis der JSON- und JSONL (JSON Lines)-Formate, ihrer Unterschiede und wann jedes verwendet werden sollte.

Letzte Aktualisierung: Februar 2026

Schnellvergleich

EigenschaftJSONJSONL (JSON Lines)
StrukturEinzelnes Objekt oder ArrayEin JSON-Objekt pro Zeile
Dateierweiterung.json.jsonl oder .ndjson
ParsingMuss gesamte Datei parsenKann zeilenweise parsen
StreamingSchwierigNative Unterstützung
Große DateienSpeicherintensivSpeichereffizient
MenschenlesbarMit Einrückung formatiertKompakt, ein Datensatz pro Zeile
Schema-ValidierungJSON Schema unterstütztZeilenweises JSON Schema
Daten anhängenGesamte Datei muss neu geschrieben werdenEinfach eine neue Zeile anhängen

Was ist JSON?

JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat, das für Menschen leicht zu lesen und zu schreiben und für Maschinen leicht zu parsen und zu generieren ist. Es basiert auf einer Teilmenge von JavaScript und hat sich zum De-facto-Standard für den Datenaustausch im Web entwickelt.

Eine JSON-Datei enthält einen einzelnen JSON-Wert — typischerweise ein Objekt oder ein Array. Die gesamte Datei muss als eine Einheit geparst werden, um auf Daten darin zuzugreifen.

JSON-Beispiel
[
{"name": "Alice", "age": 30, "city": "New York"},
{"name": "Bob", "age": 25, "city": "London"},
{"name": "Charlie", "age": 35, "city": "Tokyo"}
]

Was ist JSONL (JSON Lines)?

JSONL (JSON Lines), auch bekannt als Newline Delimited JSON (NDJSON), ist ein Textformat, bei dem jede Zeile ein gültiges JSON-Objekt ist. Zeilen werden durch Zeilenumbruchzeichen (\n) getrennt. Im Gegensatz zu Standard-JSON gibt es kein umschließendes Array oder Objekt um die Daten.

Jede Zeile in einer JSONL-Datei ist eigenständig und kann unabhängig geparst werden. Das macht JSONL ideal für Streaming-Daten, Protokolldateien und die Verarbeitung großer Datensätze, ohne alles in den Speicher laden zu müssen.

JSONL-Beispiel
{"name": "Alice", "age": 30, "city": "New York"}
{"name": "Bob", "age": 25, "city": "London"}
{"name": "Charlie", "age": 35, "city": "Tokyo"}

Wesentliche Unterschiede zwischen JSON und JSONL

1. Dateiformat & Struktur

JSON

JSON umhüllt alle Daten in einem einzelnen Objekt oder Array. Die Datei muss syntaktisch als Ganzes gültig sein — eine fehlende Klammer am Ende macht die gesamte Datei ungültig.

JSONL

JSONL speichert ein JSON-Objekt pro Zeile. Jede Zeile ist unabhängig — wenn eine Zeile einen Fehler hat, können die anderen Zeilen trotzdem geparst werden.

2. Parsing & Speichernutzung

JSON

JSON erfordert das Laden und Parsen der gesamten Datei auf einmal. Eine 1-GB-JSON-Datei würde ungefähr 1 GB+ Speicher zum Parsen benötigen.

JSONL

JSONL kann zeilenweise gelesen und geparst werden (Streaming). Selbst eine 10-GB-JSONL-Datei kann mit minimalem Speicher verarbeitet werden, indem jeweils eine Zeile gelesen wird.

3. Streaming & Echtzeit-Daten

JSON

JSON ist nicht für Streaming konzipiert. Sie können nicht mit der Datenverarbeitung beginnen, bis die gesamte Datei oder Antwort empfangen und geparst wurde.

JSONL

JSONL ist ideal für Streaming. Jede Zeile kann verarbeitet werden, sobald sie empfangen wird, perfekt für Echtzeit-Datenfeeds, Protokolle und Server-Sent Events.

4. Anhängen & Schreiben von Daten

JSON

Das Anhängen von Daten an ein JSON-Array erfordert das Lesen der gesamten Datei, das Parsen, das Hinzufügen des neuen Elements und das Neuschreiben der vollständigen Datei.

JSONL

Das Anhängen an eine JSONL-Datei ist so einfach wie das Hinzufügen einer neuen Zeile am Ende. Keine Notwendigkeit, vorhandene Daten zu lesen oder zu ändern. Das ist O(1) vs. O(n) bei JSON.

5. Menschliche Lesbarkeit

JSON

JSON unterstützt Schöndruck mit Einrückung und ist dadurch sehr lesbar für Konfigurationsdateien und API-Antworten.

JSONL

JSONL ist per Design kompakt — ein Datensatz pro Zeile. Es ist für maschinelle Verarbeitung optimiert, nicht für menschliches Lesen, obwohl einzelne Zeilen schön gedruckt werden können.

Wann JSON vs. JSONL verwenden

JSONVerwenden Sie JSON, wenn:
  • Sie mit Konfigurationsdateien arbeiten
  • Sie REST-API-Request/Response-Bodies erstellen
  • Sie kleine, strukturierte Daten speichern (unter 10 MB)
  • Daten menschenlesbar und bearbeitbar sein müssen
  • Sie mit verschachtelten, hierarchischen Datenstrukturen arbeiten
  • Browserseitiger Datenaustausch
JSONLVerwenden Sie JSONL, wenn:
  • Sie große Datensätze verarbeiten (100 MB+)
  • Sie Daten in Echtzeit streamen
  • Sie Protokolldateien und Ereignisdaten schreiben
  • Sie Machine-Learning-Modelle trainieren (OpenAI, Hugging Face)
  • ETL-Pipelines und Datenverarbeitung
  • Sie häufig Daten anhängen
  • Sie Daten mit Unix-Tools verarbeiten (grep, awk, sed)

Häufige Anwendungsfälle

Machine Learning & KI

JSONL

JSONL ist das Standardformat für ML-Trainingsdaten. OpenAI verwendet JSONL für Fine-Tuning-Datensätze, und viele ML-Frameworks erwarten JSONL-Eingabe. Jede Zeile repräsentiert ein Trainingsbeispiel.

Anwendungsprotokollierung

JSONL

Serverprotokolle, Anwendungsereignisse und Audit-Trails sind natürlich für JSONL geeignet. Jedes Ereignis wird als einzelne Zeile geschrieben, was das Anhängen, Suchen mit grep und Verarbeiten mit Streaming-Tools erleichtert.

Web-APIs & Konfiguration

JSON

REST-APIs verwenden typischerweise JSON für Request- und Response-Bodies. Konfigurationsdateien (.json) verwenden JSON für lesbare, strukturierte Einstellungen mit verschachtelten Objekten.

Big Data & Analyse

JSONL

Datenpipelines, ETL-Prozesse und Analysetools verwenden JSONL zur Verarbeitung großer Datenmengen. Jeder Datensatz kann unabhängig verarbeitet werden, was parallele Verarbeitung und MapReduce-Muster ermöglicht.

Code-Beispiele

JSON in JavaScript lesen
// Reading JSON - must load entire file
const data = JSON.parse(fs.readFileSync('data.json', 'utf8'));
// Access data
data.forEach(item => {
console.log(item.name);
});
JSONL in JavaScript lesen
// Reading JSONL - stream line by line
import { createReadStream } from 'fs';
import { createInterface } from 'readline';
const rl = createInterface({
input: createReadStream('data.jsonl')
});
for await (const line of rl) {
const item = JSON.parse(line);
console.log(item.name);
}
JSON zu JSONL konvertieren
// JSON array to JSONL
const jsonArray = JSON.parse(fs.readFileSync('data.json', 'utf8'));
const jsonl = jsonArray
.map(item => JSON.stringify(item))
.join('\n');
fs.writeFileSync('data.jsonl', jsonl);
JSONL zu JSON konvertieren
// JSONL to JSON array
const lines = fs.readFileSync('data.jsonl', 'utf8')
.split('\n')
.filter(line => line.trim());
const jsonArray = lines.map(line => JSON.parse(line));
fs.writeFileSync('data.json', JSON.stringify(jsonArray, null, 2));

JSON & JSONL online konvertieren

Verwenden Sie unsere kostenlosen Online-Tools, um sofort zwischen JSON und JSONL zu konvertieren — keine Installation erforderlich.

Probieren Sie unseren JSONL-Viewer

JSONL-Dateien bis zu 1 GB sofort im Browser anzeigen und bearbeiten. Kein Upload, keine Anmeldung erforderlich.

Häufig gestellte Fragen

JSON vs JSONL: Was ist der Unterschied? Vollständige Anle...