NDJSON

NDJSONファイルとは

1 行に 1 つの JSON オブジェクト。ログのパイプラインやデータ書き出しが出力する形です。

NDJSON とは何か

NDJSON はプレーンテキスト形式です。どのエディターでも開けます。 プログラム間のデータ受け渡しとストリーミングのために使われます。

拡張子は .ndjson、正式名称は Newline-Delimited JSON です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。

NDJSON はどこから来たのか

2013 年までさかのぼります。

古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。

仕様は公開されています

誰でも、許可を求めることなく、ライセンス料も払わずに実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。

捨てられるものはありません

NDJSON ファイルは中身をそのまま保存します。保存し直しても何も変わらないので、開いて、直して、また保存する——それを何度繰り返しても劣化は積み上がりません。これが、渡すための形式ではなく作業のための形式である理由です。

ほかに何を運べるか

NDJSON ファイルは全部が届く前に再生を始められる構造を持てます。

これは変換のときにとくに効いてきます。変換先が持てないものは落とされ、たいてい警告もありません。

コメントを書く場所がありません

NDJSON ファイルにはコメントを書く方法がありません。説明にあたるものはすべてファイルの外に置くことになります。人が手で面倒を見る用途にこれを選ぶ前に、知っておくべきことです。

NDJSON を開けるのは何か

jqとpandasが読めますし、同じ種類のプログラムならたいてい読めます。

ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。

ブラウザーで開く

これを読めるブラウザーはありません。

これを変換するいちばんよくある理由がこれです。形式が悪いのではありません。ファイルを見せたい場所が、それを読めないというだけのことです。

作業のための形式です

NDJSON は、開いて手を入れるために作られています。作業が続いているあいだはこの形式でファイルを持ち、完成したものが必要になるたびに、ここから書き出してください。

基本情報

NDJSONフォーマットの識別子と出自。
拡張子.ndjson, .jsonl
メディアタイプapplication/x-ndjson
初版2013

NDJSONを別のフォーマットに変換する

別のフォーマットをNDJSONに変換する

NDJSONの代わりに検討できるフォーマット