Was das Tool macht
JSON Lines (auch JSONL oder NDJSON) speichert einen JSON-Wert pro Zeile. Es ist das bevorzugte Format für Logs, Datenexporte, Streaming-APIs, Massenimporte in BigQuery und Elasticsearch sowie Machine-Learning-Datensätze wie OpenAI-Fine-Tuning-Dateien, weil ein Programm Datensätze einzeln lesen oder anhängen kann, ohne die ganze Datei zu laden.
Viele Werkzeuge erwarten jedoch ein einzelnes JSON-Array. Dieser Konverter macht aus JSON Lines ein formatiertes JSON-Array und aus einem JSON-Array wieder JSON Lines mit einem kompakten Datensatz pro Zeile.
So geht’s
- Wählen Sie die Richtung: JSON Lines → JSON oder JSON → JSON Lines.
- Fügen Sie Ihre Daten ein, laden Sie eine
.jsonl-,.ndjson- oder.json-Datei hoch oder klicken Sie auf Beispiel. - Für JSON-Ausgabe wählen Sie 2 oder 4 Leerzeichen Einrückung oder Kompakt für eine einzige Zeile.
- Kopieren oder laden Sie das Ergebnis herunter, oder wandeln Sie es mit Als Eingabe verwenden zurück.
Ist eine Zeile kein gültiges JSON, nennt die Fehlermeldung Zeilennummer und Spalte, sodass Sie direkt zum defekten Datensatz springen können – praktisch, wenn eine Logdatei unter Tausenden einen abgeschnittenen Eintrag enthält.
Beispiel
Diese drei Zeilen JSON Lines:
{"id": 1, "event": "signup"}
{"id": 2, "event": "login"}
{"id": 3, "event": "logout"}
werden zu diesem JSON-Array:
[
{
"id": 1,
"event": "signup"
},
{
"id": 2,
"event": "login"
},
{
"id": 3,
"event": "logout"
}
]
In der Gegenrichtung wird jedes Array-Element ohne Leerzeichen in eine Zeile geschrieben, und die Datei endet mit einem Zeilenumbruch.
Wann was?
Verwenden Sie JSON Lines, wenn Datensätze einzeln erzeugt oder verarbeitet werden: Anhängen an Logs, Streaming von Ergebnissen, Aufteilen großer Datensätze auf mehrere Worker oder Verarbeitung mit zeilenbasierten Werkzeugen wie grep, head und wc -l. Verwenden Sie ein JSON-Array, wenn ein Programm die ganze Sammlung auf einmal braucht, etwa eine Konfigurationsdatei, Testdaten oder den Antwortkörper eines REST-Endpunkts.
FAQ
› Was ist der Unterschied zwischen JSONL, NDJSON und JSON Lines?
Es sind Namen für dasselbe Format: ein vollständiger JSON-Wert pro Zeile, getrennt durch Zeilenumbrüche. JSON Lines (.jsonl) und newline-delimited JSON (.ndjson) unterscheiden sich nur im Namen und in der Dateiendung.
› Sind Leerzeilen erlaubt?
Leerzeilen und ein abschließender Zeilenumbruch werden beim Lesen übersprungen. Windows-Zeilenenden (CRLF) und ein UTF-8-BOM werden ebenfalls verarbeitet.
› Meine Datei ist eingerücktes JSON, ein Objekt erstreckt sich über mehrere Zeilen. Warum schlägt es fehl?
In JSON Lines muss jeder Wert in eine einzige Zeile passen. Ist Ihre Eingabe ein normales JSON-Array, stellen Sie die Richtung auf JSON → JSON Lines; ist es eine Folge eingerückter Objekte, packen Sie sie zuerst in ein Array.
› Ändert die Umwandlung Zahlen oder die Reihenfolge der Schlüssel?
Nein. Werte und Schlüsselreihenfolge bleiben erhalten; nur Leerraum ändert sich. Sehr große Ganzzahlen jenseits des sicheren JavaScript-Bereichs (etwa 9 Billiarden) können wie bei jedem browserbasierten JSON-Tool an Genauigkeit verlieren.