Vergleichen
JSON Lines oder JSON
JSON Lines (newline-delimited JSON) ist eine UTF-8-Textkonvention mit einem unabhängigen gültigen JSON-Wert pro Zeile. Ein normales JSON-Dokument stellt insgesamt einen Wert dar; JSON Lines eignet sich daher für sequenzielle Verarbeitung und das Anhängen mehrerer Datensätze.
Welches Format sollten Sie wählen?
JSON Lines eignet sich für Protokolle oder Ereignisse, die Datensatz für Datensatz verarbeitet und angehängt werden. Verwenden Sie normales JSON für ein einzelnes Konfigurationsdokument oder ein vollständiges verschachteltes Objekt/Array.
Geeignet für JSON Lines
Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen
- Datensätze schrittweise lesen und schreiben
- Textdaten mit gängigen Werkzeugen ergänzen oder zusammenführen
Geeignet für JSON
Web-APIs, Konfigurationsdateien und Datenaustausch
- Übertragen strukturierter Daten
Grundlegende Informationen
| Merkmal | JSON Lines | JSON |
|---|---|---|
| Dateiendung | .jsonl, .ndjson | .json |
| MIME-Typ | application/jsonl | application/json |
| Häufige Verwendung | Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen | Web-APIs, Konfigurationsdateien und Datenaustausch |
| Öffnen | Öffnen Sie die Datei in einem Texteditor oder einem JSON-Lines-fähigen Werkzeug. Wenn Sie jede Zeile einzeln als JSON prüfen, finden Sie fehlerhafte Datensätze leichter. | Öffnen Sie die Datei in einem Texteditor, einer IDE oder einem JSON-fähigen Viewer. |
| Exportieren oder konvertieren | Für ein JSON-Array fassen Sie die Zeilen als Array-Elemente zusammen. Beim Rückweg schreiben Sie jeden Wert in eine eigene Zeile. Bei großen Dateien ist der Speicherbedarf zu beachten. | Anwendungen oder Konvertierungswerkzeuge können sie in Formate wie CSV umwandeln. |
Nach Einsatzzweck wählen
Datensätze schrittweise lesen und schreiben
Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen
JSON LinesTextdaten mit gängigen Werkzeugen ergänzen oder zusammenführen
Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen
JSON LinesÜbertragen strukturierter Daten
Web-APIs, Konfigurationsdateien und Datenaustausch
JSONWichtiger Punkt 1
Jede JSON-Lines-Zeile muss als ein gültiger JSON-Wert parsebar sein. Objekte sind üblich, aber auch Zeichenketten, Zahlen, null und andere JSON-Werte sind erlaubt; Leerzeilen sind keine Datensätze. Ein normales JSON-Dokument stellt insgesamt einen Wert dar.
Unterschiede im DetailWichtiger Punkt 2
JSON Lines nutzt UTF-8 und LF zwischen Werten; CRLF wird als JSON-Leerraum ebenfalls unterstützt. Ein abschließender Zeilenumbruch ist empfohlen, aber nicht erforderlich; Regeln für Verketten und Streamgrenzen müssen festgelegt werden.
Unterschiede im DetailUnterschiede im Detail
Nutzen Sie JSON Lines für Datensatzpipelines und leicht erweiterbare Logs, wenn der Empfänger es unterstützt. Nutzen Sie JSON für ein einzelnes strukturiertes Dokument. Parsen Sie JSON Lines zeilenweise; die gesamte Datei ist nicht automatisch ein Standard-JSON-Dokument.
- Eine JSON-Lines-Datei enthält mehrere durch Zeilenumbrüche getrennte JSON-Werte auf oberster Ebene. Ein üblicher JSON-Dokumentparser kann die Gesamtdatei deshalb ablehnen.
- Legen Sie Reihenfolge, Behandlung leerer oder fehlerhafter Zeilen, Wiederaufnahme nach Fehlern und Bedarf eines letzten Zeilenabschlusses fest.
- JSON Lines verwendet UTF-8 ohne BOM. Der vorgeschlagene Medientyp `application/jsonl` ist nicht standardisiert; Transportmetadaten sind mit Empfängern abzustimmen.
Häufige Fragen
Ist eine JSON-Lines-Datei einfach ein JSON-Array?
Nein. Sie ist eine durch Zeilenumbrüche getrennte Folge von JSON-Werten, kein einzelnes Array-Dokument; jede Zeile kann unabhängig verarbeitet werden.