Kurz gesagt
- JSON Lines ist ein Textdatenformat, das strukturierte Daten mit einem JSON-Wert pro Zeile speichert und UTF-8 ohne BOM sowie den Verzicht auf Leerzeilen verlangt.
- Öffnen Sie die Datei unter Windows oder macOS mit einem Texteditor, der UTF-8 unterstützt. Auf dem Smartphone benötigen Sie einen Editor mit Zugriff auf die Datei und UTF-8-Unterstützung; Größenlimits hängen von der App ab. Verarbeiten Sie jede Zeile separat mit einem JSON-Parser. Die Zeilenstruktur eignet sich auch für Unix-Textwerkzeuge und Shell-Pipelines. LF und CRLF werden unterstützt. JSON Lines empfiehlt einen abschließenden Zeilenumbruch; NDJSON verlangt ihn nach jedem JSON-Text.
- Das Format hat ein geringes inhärentes Risiko: Gültige JSON-Syntax schließt Zuweisungen und Funktionsaufrufe aus. Verwenden Sie für nicht vertrauenswürdigen Text einen JSON-Parser; eval und ähnliche Funktionen können eine Codeausführung ermöglichen. Erfolgreiches Parsen belegt weder die Vertrauenswürdigkeit der Daten noch deren vollständigen Erhalt bei einer Konvertierung.
JSON Lines (.jsonl, .ndjson): Dateien öffnen und konvertieren
JSON Lines, auch als durch Zeilenumbrüche getrenntes JSON bezeichnet, eignet sich für einzeln verarbeitete Datensätze, Protokolle und Nachrichten. Jede Zeile kann ein Objekt, Array oder einen skalaren Wert enthalten; null ist zulässig. JSON Lines verwendet .jsonl, die NDJSON-Spezifikation empfiehlt .ndjson. Die JSON-Lines-Dokumentation schlägt application/jsonl vor, bezeichnet diesen Medientyp aber als nicht standardisiert; NDJSON empfiehlt application/x-ndjson.
Für ein gewöhnliches JSON-Dokument lassen sich die Werte der JSONL-Zeilen in ihrer Reihenfolge zu einem Array zusammenfassen. Dies ergibt sich aus der Struktur der Formate; eine andere Dateiendung führt keine Konvertierung durch. Prüfen Sie vor dem Parsen und Exportieren doppelte Objektschlüssel und die Zahlengenauigkeit. Für CSV muss zusätzlich festgelegt werden, wie Arrays, verschachtelte Werte und unterschiedliche Datensatzstrukturen auf Spalten abgebildet werden.
So bekommst du sie auf
Öffnen Sie die Datei unter Windows oder macOS mit einem Texteditor, der UTF-8 unterstützt. Auf dem Smartphone benötigen Sie einen Editor mit Zugriff auf die Datei und UTF-8-Unterstützung; Größenlimits hängen von der App ab. Verarbeiten Sie jede Zeile separat mit einem JSON-Parser. Die Zeilenstruktur eignet sich auch für Unix-Textwerkzeuge und Shell-Pipelines. LF und CRLF werden unterstützt. JSON Lines empfiehlt einen abschließenden Zeilenumbruch; NDJSON verlangt ihn nach jedem JSON-Text.
Öffnen Sie die Datei unter Windows oder macOS mit einem Texteditor, der UTF-8 unterstützt. Auf dem Smartphone benötigen Sie einen Editor mit Zugriff auf die Datei und UTF-8-Unterstützung; Größenlimits hängen von der App ab. Verarbeiten Sie jede Zeile separat mit einem JSON-Parser. Die Zeilenstruktur eignet sich auch für Unix-Textwerkzeuge und Shell-Pipelines. LF und CRLF werden unterstützt. JSON Lines empfiehlt einen abschließenden Zeilenumbruch; NDJSON verlangt ihn nach jedem JSON-Text.
Für ein gewöhnliches JSON-Dokument lassen sich die Werte der JSONL-Zeilen in ihrer Reihenfolge zu einem Array zusammenfassen. Dies ergibt sich aus der Struktur der Formate; eine andere Dateiendung führt keine Konvertierung durch. Prüfen Sie vor dem Parsen und Exportieren doppelte Objektschlüssel und die Zahlengenauigkeit. Für CSV muss zusätzlich festgelegt werden, wie Arrays, verschachtelte Werte und unterschiedliche Datensatzstrukturen auf Spalten abgebildet werden.
Dateisicherheit
Das Format hat ein geringes inhärentes Risiko: Gültige JSON-Syntax schließt Zuweisungen und Funktionsaufrufe aus. Verwenden Sie für nicht vertrauenswürdigen Text einen JSON-Parser; eval und ähnliche Funktionen können eine Codeausführung ermöglichen. Erfolgreiches Parsen belegt weder die Vertrauenswürdigkeit der Daten noch deren vollständigen Erhalt bei einer Konvertierung.
Unbekannter Absender, ein Name mit zwei Endungen oder ein Inhalt, der nicht zur Endung passt — erst prüfen, dann öffnen.
Umwandeln
Für ein gewöhnliches JSON-Dokument lassen sich die Werte der JSONL-Zeilen in ihrer Reihenfolge zu einem Array zusammenfassen. Dies ergibt sich aus der Struktur der Formate; eine andere Dateiendung führt keine Konvertierung durch. Prüfen Sie vor dem Parsen und Exportieren doppelte Objektschlüssel und die Zahlengenauigkeit. Für CSV muss zusätzlich festgelegt werden, wie Arrays, verschachtelte Werte und unterschiedliche Datensatzstrukturen auf Spalten abgebildet werden.
Wandle eine Kopie um, nie das Original, und vergleich danach Qualität, Metadaten und Layout mit der Ausgangsdatei.
Häufige Fragen
Was ist eine JSONL-Datei (JSON Lines) und wofür wird sie verwendet?
Eine JSON-Lines-Datei enthält einen JSON-Wert pro Zeile und eignet sich für einzeln verarbeitete Datensätze, Protokolle und Nachrichten. Eine Zeile kann ein Objekt, Array oder einen skalaren Wert einschließlich null enthalten. Leerzeilen sind in JSON Lines ungültig.
Wie kann ich JSONL-Dateien unter Windows öffnen?
Öffnen Sie die .jsonl-Datei über einen Texteditor mit UTF-8-Unterstützung. Jede Zeile ist ein eigener JSON-Wert. Verwenden Sie zur strukturierten Verarbeitung einen zeilenweise arbeitenden JSON-Parser; ein Parser für ein einzelnes JSON-Dokument kann mehrere Datensätze ablehnen.
Wie kann ich JSONL-Dateien am Mac öffnen?
Verwenden Sie einen Texteditor im Nur-Text-Modus mit UTF-8-Kodierung. Jeder Datensatz gehört in eine Zeile. Im Terminal lässt sich die Zeilenstruktur mit Unix-Textwerkzeugen und Shell-Pipelines verarbeiten; jede Zeile muss dabei separat als JSON geparst werden.
Wie kann ich NDJSON-Dateien auf dem Smartphone öffnen?
Wählen Sie einen Texteditor, der auf die Datei zugreifen und UTF-8 lesen kann, und öffnen Sie darin die .ndjson-Datei. Dateizugriff und unterstützte Größe hängen von der App ab. Das Format garantiert keine Unterstützung durch jeden mobilen Editor.
Warum entstehen NDJSON-Parserfehler durch Leerzeilen?
JSON Lines erlaubt keine Leerzeilen. NDJSON-Parser dürfen sie ignorieren, wenn dieses Verhalten dokumentiert ist, und sollten es konfigurierbar machen. Daher können Werkzeuge unterschiedlich reagieren. Prüfen Sie außerdem unvollständiges JSON und Datensätze, die über mehrere Zeilen verteilt sind.
Sollte ich für mehrere Datensätze JSON Lines oder gewöhnliches JSON verwenden?
Wählen Sie JSON Lines, wenn Datensätze einzeln pro Zeile gelesen oder verarbeitet werden sollen. Ein gewöhnliches JSON-Array passt, wenn der Empfänger ein einzelnes JSON-Dokument erwartet. Mehrere durch Zeilenumbrüche getrennte Werte bilden kein einzelnes gültiges JSON-Dokument.
Wie kann ich JSONL in ein JSON-Array umwandeln?
Parsen Sie jede Zeile als JSON-Wert und schreiben Sie alle Werte in derselben Reihenfolge als Array mit Kommas zwischen den Elementen. Dies folgt aus der Struktur der Formate. Das Umbenennen von .jsonl in .json konvertiert die Datensätze nicht.
Welchen Datenverlust sollte ich bei JSONL zu CSV prüfen?
Legen Sie fest, wie verschachtelte Objekte, Arrays und unterschiedliche Felder in CSV-Spalten erscheinen. Prüfen Sie auch doppelte Objektschlüssel und große oder hochpräzise Zahlen: Ein Parser kann nur den letzten doppelten Wert behalten oder Zahlen außerhalb seiner Genauigkeit verändern.
Welche Sicherheitsrisiken bestehen beim Parsen von JSONL aus unbekannter Quelle?
Gültige JSON-Syntax enthält keine Zuweisungen oder Funktionsaufrufe. eval und ähnliche Funktionen können bei nicht vertrauenswürdigem Text jedoch Codeausführung ermöglichen. Verwenden Sie einen JSON-Parser. Erfolgreiches Parsen beweist nicht, dass die Inhalte vertrauenswürdig sind.
Wie behebe ich UTF-8-Kodierungsfehler in JSON Lines?
Ermitteln Sie die ursprüngliche Kodierung und speichern Sie eine korrekt dekodierte Kopie als UTF-8 ohne BOM. JSON Lines verlangt diese Kodierung. Wurden Zeichen beim Lesen bereits ersetzt, stellt eine geänderte Kodierungsangabe den ursprünglichen Text nicht wieder her.
Welche Größen- und Verschachtelungsgrenzen gelten für JSONL-Dateien?
Die genannten Spezifikationen legen keine universelle Grenze zum Öffnen fest. Parser dürfen Textgröße, Verschachtelungstiefe und Zeichenkettenlänge begrenzen. Ungepaarte Unicode-Surrogate können außerdem unvorhersehbares Verhalten oder Laufzeitfehler verursachen. Prüfen Sie die Grenzen des verwendeten Lesers.
Verwandte Formate
Quellen
JSON Lines — 官方格式文档 · JSON Lines 格式项目,维护者 Ian Ward
NDJSON — Newline delimited JSON Specification · NDJSON 官方规范仓库
RFC 8259 — The JavaScript Object Notation (JSON) Data Interchange Format · IETF Standards Track / RFC Editor