NDJSON
NDJSON (zeilengetrenntes JSON) legt pro Zeile ein eigenständiges JSON-Objekt ab und eignet sich für das Streaming großer Datensätze.
Zweck
Ein JSON-Format bereitstellen, das sich als Stream verarbeiten lässt, ohne ein ganzes Array in den Speicher zu laden.
Mechanismus
Jede Zeile ist ein vollständiger, durch Zeilenumbrüche getrennter JSON-Wert ohne äußeres Array-Wrapping. Ein Parser liest Zeile für Zeile und ermöglicht Streaming. Häufig bei Logs, Datenbank-Exporten und API-Streams.
Anwendungsfälle
- Elasticsearch-Bulk-API
- Export und Import von Datenbanken
- Verarbeitung von Log-Streams
- Zwischenformat für Big-Data-Pipelines
Beispiele
- Eingabe
{"a":1} {"a":2}OutputTwo JSON objects, one per lineNewline-delimited
Häufige Fehler
- A string containing a literal newline breaks the line format
- Newlines inside JSON strings are already escaped as \n
Verwandte Begriffe
JSON
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat auf Basis von JavaScript-Objektliteralen, das Schlüssel-Wert-Paare und Arrays nutzt. GLOSSAR
JSONL
JSONL (JSON Lines) ist äquivalent zu NDJSON: ein JSON-Objekt pro Zeile, ein alternativer Name für dasselbe Format. GLOSSAR
CSV
CSV (comma-separated values) ist ein Tabellendatenformat, das Felder mit Kommas trennt; RFC 4180 definiert den Standard, und es wird weitgehend für Datenimport und -export genutzt. GLOSSAR