NDJSON
NDJSON(改行区切りJSON)は1行に1つの独立したJSONオブジェクトを格納する形式であり、大規模データセットのストリーミング処理に適する。
目的
配列全体をメモリに読み込まずにストリームとして処理できるJSON形式を提供する。
メカニズム
各行が改行で区切られた完全なJSON値であり、外側の配列ラッパーを持たない。パーサは行単位で読み取りストリーミングを可能にする。ログ、データベースのエクスポート、APIストリームで広く使われる。
ユースケース
- ElasticsearchのバルクAPI
- データベースのエクスポートとインポート
- ログストリーム処理
- ビッグデータパイプラインの中間形式
例
- 入力
{"a":1} {"a":2}OutputTwo JSON objects, one per lineNewline-delimited
よくあるエラー
- A string containing a literal newline breaks the line format
- Newlines inside JSON strings are already escaped as \n