Zum Inhalt springen
uencoder

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}
    Output
    Two JSON objects, one per line

    Newline-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

Verwandte Tools

References