<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>区切りの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値の列が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> によって表現可能なデータの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">交換<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">情報交換</title></anchor>に使われることがあります。
これを<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>区切りの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor></dfn>、<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LDJSON</anchor></dfn>、<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NDJSON</anchor></dfn>、
<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON Lines</anchor></dfn> などと呼ぶことがあります。 </p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> 統一的な名前はなく色々な呼ばれ方をしています。
特に名称なしで利用されていることもあります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> いろいろな<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>で採用されていて、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSONデータのストリーミング転送<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">JSONストリーミング</title></anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事実上の標準</anchor>となっています。</p><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 0個以上の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>で区切ります。</p><figure class="railroad"><ol><li>?<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値</li><li>*<ol><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値</li></ol></li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 連続した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor> (= <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空行</anchor>) やファイル末尾の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>をどう解釈するかは、実装によります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LF</anchor> か <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRLF</anchor> か、いずれでもよいかは実装によります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LF</anchor> を区切りとして解釈すれば、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CR</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>なので、
自然に無視されます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>間の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>を含めることも本来は可能ですが、
本形式では使用しません。これにより、1行 = 1 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値となり、処理しやすくなります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">人間</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">可読性</anchor>の向上以外に意味を持たないので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報交換</anchor>用には不要です。なお<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>中の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値内では必ず<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エスケープ</anchor>が必要なので、
元々<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>そのままの形で現れることはありません。
(ですから、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>が含まれる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値から何も考えずに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>を除去すれば、
ここで使える<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>値となります。)</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値内部の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>をそのままにしても、意図通り<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor>することは可能ではあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行指向</anchor>の処理はできなくなりますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>値の終わりが現れる行までを読み込んで1つの
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>値として処理するだけです。
なお <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wikipedia</anchor> はそのようなものも含め、区切りを含まないものを
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Concatenated JSON</anchor> <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;44</anchor-internal></src> と呼んでいます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値としてすべて認めるものと、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配列</anchor>など特定の形のもののみ認めるものがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>としては、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> を使うのが普通です。</p></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> 入力を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行</anchor>ごとに、それぞれ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>していきます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行指向</anchor>の処理は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> などで一般的に用いられており、
ほとんどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング言語</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準ライブラリー</anchor>で簡単に実装できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の処理も、特別なことはせず、単に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> から内部データ構造に変換する一般的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>を呼び出すだけで十分です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> 後は、利用する場面に応じて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空行</anchor>を受信した時の処理、
不正な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> を受信した時の処理、
入力ストリームの末端に到達した時の処理を実装し忘れないように注意しましょう。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> こうした処理をまとめて行う専用の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>もいくつもありますが、
その場その場で都度実装しても良いくらい単純な処理で済みます。</comment-p></section><section><h1>MIME 型</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NDJSON</anchor> 仕様は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>として <dfn><code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/x-ndjson</anchor></code></dfn>
を規定しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Wikipedia</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>として <dfn><code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/x-ldjson</anchor></code></dfn>
を使うべきと述べています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> たまに <code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/json</anchor></code> が使われることもあります。 (正しくはありません。)</p></section><section><h1>拡張子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> 
<dfn><code>.jsonl</code></dfn>,
<dfn><code>.jsonlines</code></dfn>,
<dfn><code>.ld</code></dfn>,
<dfn><code>.ldjson</code></dfn>
が使われているようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> 
<code>.json</code>
が使われることもあるようです。
ただの
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>
と紛らわしいので、避けるべきでしょう。</p></section><section><h1>実装</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">jq</anchor> は、結果が複数の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値となるとき<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>区切りで出力します。
ただし、標準では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>を含む<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>を入れて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">人間</anchor>が見やすい形にします。
<code>-c</code> / <code>--compact-output</code> オプションを指定すると、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>のない、
本項の形式となります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Twitter</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRLF</anchor> 区切りの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値を使っています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="292" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;292</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ツイート</anchor>に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LF</anchor> が含まれる可能性がある (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CR</anchor> が含まれる可能性はない) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="292" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;292</anchor-internal></src>
とされていますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>に生の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LF</anchor> が含まれることがあるのか、それとも字句間に含まれることがあるだけなのかは不明です (前者は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 仕様上あり得ないはずですが)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Twitter</anchor> はオプション形式として、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>値の前に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>値の長さを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">十進数</anchor>で出力する形式も用意しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="292" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;292</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRLF</anchor> の出現を探すのではなく、指定文字列長分を読み込む方式の方が都合がいい実装のために用意されているようです。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="292" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[292]</anchor-end> <cite>Processing streaming data | Twitter Developers</cite> (<time>2015-03-05 11:53:33 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://dev.twitter.com/streaming/overview/processing">https://dev.twitter.com/streaming/overview/processing</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;82</anchor-internal> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>区切りにされることがよくあるが、
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>区切りでも (曖昧でなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>なしでも) 受け付ける、としています。
この形式は他の実装では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Concatenated JSON</anchor> と呼ばれています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> その他次の実装が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>区切りの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値列を使っています。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="291" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[291]</anchor-end> <cite>Bulk API</cite>
(<time>2015-02-24 04:40:27 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html">http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-bulk.html</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> いろいろな <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webアプリケーション</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> が本項の形式 (の何らかのバリエーション)
を採用しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開発者ツール</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の列の時も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配列</anchor>のように表示できます。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> 
<cite xml:lang="en-US">DynamoDB table export output format - Amazon DynamoDB</cite>, <time>2024-03-05T19:46:54.000Z</time>, <time>2024-03-06T03:52:07.270Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html">https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CityJSON Text Sequence</anchor></p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 値の列全体を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配列</anchor>とすることも可能ですが、
末尾まで読み終えてから処理するのでない (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ストリーミング</anchor>処理したい)
場合に扱いづらいのが問題です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> をストリーミング形式で構文解析することも可能で、
そのような実装も存在はしますが、本方式の方がずっと簡単に実現できます。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(ストリーミングに対応していない普通の <anchor>JSON</anchor> の実装を流用できます。)</weak></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON text sequences</anchor> 
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 7464</anchor>)
は本項の方式から派生したもののようですが、
特殊な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御文字</anchor>を使っています。本項の方式と比べてそこまで複雑でもありませんが、
メリットも特にありません。本項の方式の方が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> その他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">行指向</anchor>の既存の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>等との親和性は高そうです。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">本項の方式と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON text sequences</anchor> を混同した解説の類もありますから、
要注意。</comment-p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NDJSON</anchor> は、昔は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LDJSON</anchor> と言っていました <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;80</anchor-internal></src>。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <cite xml:lang="en">Update specification_draft2.md · ndjson/ndjson-spec@c658c26</cite> (<time>2016-02-21 20:56:12 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson-spec/commit/c658c26ba15bea718228b5a3d54f0d4db22ec0ba">https://github.com/ndjson/ndjson-spec/commit/c658c26ba15bea718228b5a3d54f0d4db22ec0ba</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite xml:lang="en">Line Delimited JSON - Wikipedia, the free encyclopedia</cite> (<time>2015-02-24 09:07:32 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://en.wikipedia.org/wiki/Line_Delimited_JSON">http://en.wikipedia.org/wiki/Line_Delimited_JSON</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite>standard content-type for &quot;streaming JSON&quot; (newline delimited JSON objects)? - Google グループ</cite>
(<time>2015-03-13 19:49:54 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/forum/#!topic/nodejs/0ohwx0vF-SY">https://groups.google.com/forum/#!topic/nodejs/0ohwx0vF-SY</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite>websocket - Choice of transports for JSON over TCP - Stack Overflow</cite>
(<time>2015-03-13 19:47:01 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://stackoverflow.com/questions/6573870/choice-of-transports-for-json-over-tcp">http://stackoverflow.com/questions/6573870/choice-of-transports-for-json-over-tcp</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite>How We Built Filmgrain, Part 2 of 2 | Filmgrain Blog</cite>
(<time>2013-09-15 11:20:31 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://blog.filmgrainapp.com/2013/07/02/how-we-built-filmgrain-part-2-of-2/">http://blog.filmgrainapp.com/2013/07/02/how-we-built-filmgrain-part-2-of-2/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="en">ldjson-stream</cite>
(<time>2015-03-13 19:51:08 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.npmjs.com/package/ldjson-stream">https://www.npmjs.com/package/ldjson-stream</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">maxogden/ndjson</cite>
(<time>2015-03-13 19:51:19 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/maxogden/ndjson">https://github.com/maxogden/ndjson</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mongoimport</anchor></code> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;53</anchor-internal></src> / <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mongoexport</anchor></code> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;54</anchor-internal></src>
における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> とは原則として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">改行</anchor>区切りの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の列のことを言っています。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <cite xml:lang="en">mongoimport — MongoDB Manual 3.0.1</cite> (<time>2015-03-28 05:46:01 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://docs.mongodb.org/manual/reference/program/mongoimport/">http://docs.mongodb.org/manual/reference/program/mongoimport/</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <cite xml:lang="en">mongoexport — MongoDB Manual 3.0.1</cite> (<time>2015-03-28 05:45:59 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://docs.mongodb.org/manual/reference/program/mongoexport/">http://docs.mongodb.org/manual/reference/program/mongoexport/</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="en">ld-jsonstream</cite>
(<time>2015-03-13 19:51:24 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.npmjs.com/package/ld-jsonstream">https://www.npmjs.com/package/ld-jsonstream</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en">timkuijsten/node-ld-jsonstream</cite>
(<time>2015-03-13 19:51:34 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/timkuijsten/node-ld-jsonstream">https://github.com/timkuijsten/node-ld-jsonstream</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite>how to parse a large, Newline-delimited JSON file by JSONStream module in node.js? - Stack Overflow</cite>
(<time>2015-03-13 19:51:46 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://stackoverflow.com/questions/15121584/how-to-parse-a-large-newline-delimited-json-file-by-jsonstream-module-in-node-j">http://stackoverflow.com/questions/15121584/how-to-parse-a-large-newline-delimited-json-file-by-jsonstream-module-in-node-j</anchor-external></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="en">NDJSON - Newline delimited JSON - Data Protocols - Open Knowledge Foundation</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Open Knowledge Foundation and others</anchor> 著, <time>2015-03-04 16:29:27 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dataprotocols.org/ndjson/">http://dataprotocols.org/ndjson/</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</anchor-end> <cite xml:lang="en">NDJSON - Newline delimited JSON - Data Protocols - Open Knowledge Labs</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Open Knowledge Foundation and others</anchor>, <time>2024-03-21T13:36:47.000Z</time>, <time>2017-07-13T05:47:17.303Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://web.archive.org/web/20170713054509/http://specs.okfnlabs.org/ndjson/index.html">https://web.archive.org/web/20170713054509/http://specs.okfnlabs.org/ndjson/index.html</anchor-external></li></ul><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>Data Protocols</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <cite>Storing Data as Newline Delimited JSON Entries - Will Anderson</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Will Anderson</anchor> 著, <time>2015-02-27 16:14:27 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://willi.am/blog/2014/07/16/storing-data-as-newline-delimited-json-entries/">http://willi.am/blog/2014/07/16/storing-data-as-newline-delimited-json-entries/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite>JSON Lines</cite>
(<time>2015-02-25 07:23:03 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://jsonlines.org/">http://jsonlines.org/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite>ndjson</cite>
(<time>2015-01-02 21:04:22 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://ndjson.org/">http://ndjson.org/</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <cite>Streaming API | Plotly Developers</cite>
(<time>2015-03-13 19:59:16 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://plot.ly/streaming/">https://plot.ly/streaming/</anchor-external></figcaption><blockquote><p>Once the stream has been connected over http, write to the request stream with newline separated JSON.</p><p>httpRequestSocket.write('{ &quot;x&quot;: 3, &quot;y&quot;: 1 }\n')</p><p>The newline is extremely important. Without this delimiter the Streaming Endpoint will not delineate your data, and will terminate the stream. You can send multiple streams to the same plot by nesting stream tokens within the corresponding data trace object. Similarly you can use the same token for multiple traces in a plot (they will show the same stream, so this is useful only in when using subplots).</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <cite xml:lang="en">draft-hallambaker-jsonl-01 - JSON Log Format (JSON-L)</cite>
( (<time>2014-05-07 04:59:18 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/draft-hallambaker-jsonl-01">http://tools.ietf.org/html/draft-hallambaker-jsonl-01</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <cite>Lesspress.net</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Christopher Brown, io@henrian.com</anchor> 著, <time>2014-12-04 07:34:04 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lesspress.net/#38">http://lesspress.net/#38</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <cite xml:lang="en">ndjson/ndjson-spec</cite>
(<time>2015-03-13 20:44:22 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson-spec">https://github.com/ndjson/ndjson-spec</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite xml:lang="en">dat/rest-api.md at master · maxogden/dat</cite>
(<time>2015-03-13 20:46:00 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/maxogden/dat/blob/master/docs/rest-api.md#post-apibulk">https://github.com/maxogden/dat/blob/master/docs/rest-api.md#post-apibulk</anchor-external></figcaption><blockquote><p>Data can be either newline-delimited JSON (with content-type application/json) or CSV (with content-type text/csv).</p><p>The response will be a stream of newline-delimited JSON objects.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <cite xml:lang="en">Bubbles: Python ETL Framework (prototype) - Open Knowledge Labs</cite>
(<time>2015-03-10 23:46:38 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://okfnlabs.org/blog/2014/09/01/bubbles-python-etl.html">http://okfnlabs.org/blog/2014/09/01/bubbles-python-etl.html</anchor-external></figcaption><blockquote><p>JSON newlline delimited file in a store represented by a directory of JSOND files</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite>logstash - open source log management</cite>
(<time>2015-03-03 06:25:28 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://logstash.net/docs/1.4.2/codecs/json_lines">http://logstash.net/docs/1.4.2/codecs/json_lines</anchor-external></figcaption><blockquote><p>This codec will decode streamed JSON that is newline delimited. For decoding line-oriented JSON payload in the redis or file inputs, for example, use the json codec instead. Encoding will emit a single JSON string ending in a ‘\n’</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <cite>Storing alerts as JSON — OSSEC 2.8.1 documentation</cite>
(<time>2015-03-09 23:01:50 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://ossec-docs.readthedocs.org/en/latest/manual/output/json-alert-log-output.html">http://ossec-docs.readthedocs.org/en/latest/manual/output/json-alert-log-output.html</anchor-external></figcaption><blockquote><p>With the json output, you can write alerts as a newline separated json file which other programs can easily consume.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <cite>Class: Traject::MarcReader — Documentation for traject/traject (master)</cite>
(<time>2015-03-13 20:50:41 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.rubydoc.info/github/traject/traject/master/Traject/MarcReader">http://www.rubydoc.info/github/traject/traject/master/Traject/MarcReader</anchor-external></figcaption><blockquote><p>&quot;json&quot; The &quot;marc-in-json&quot; format, encoded as newline-separated json. (synonym 'ndj'). A simplistic newline-separated json, with no comments allowed, and no unescpaed internal newlines allowed in the json objects -- we just read line by line, and assume each line is a marc-in-json.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite>log-defer-viz - search.cpan.org</cite>
(<time>2015-03-13 20:52:16 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/dist/Log-Defer-Viz/bin/log-defer-viz">http://search.cpan.org/dist/Log-Defer-Viz/bin/log-defer-viz</anchor-external></figcaption><blockquote><p>INPUT FORMAT</p><p>$ log-defer-viz --input-format=json  ## default is newline separated JSON</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite>python-stream-json</cite>
(<time>2013-12-04 07:00:02 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.enricozini.org/2011/tips/python-stream-json/">http://www.enricozini.org/2011/tips/python-stream-json/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="en">Feed exports — Scrapy 0.24.5 documentation</cite>
(<time>2015-02-26 06:37:57 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://doc.scrapy.org/en/latest/topics/feed-exports.html#topics-feed-format-jsonlines">http://doc.scrapy.org/en/latest/topics/feed-exports.html#topics-feed-format-jsonlines</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <cite>Add support for the JSON lines format. <strong></strong>[<strong></strong>#937474<strong></strong>]<strong></strong> | Drupal.org</cite>
(<time>2015-03-13 21:55:28 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.drupal.org/node/937474">https://www.drupal.org/node/937474</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <cite xml:lang="en">OpenCPU - High performance JSON streaming in R: Part 1</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Jeroen Ooms</anchor> 著, <time>2015-03-12 16:39:22 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.opencpu.org/posts/jsonlite-streaming/">https://www.opencpu.org/posts/jsonlite-streaming/</anchor-external></figcaption><blockquote><p>The json streaming format</p><p>Because parsing huge JSON strings is difficult and inefficient, JSON streaming is done using lines of minified JSON records. </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <cite xml:lang="en">bitdivine/jline</cite>
(<time>2015-03-13 22:03:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/bitdivine/jline">https://github.com/bitdivine/jline</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <cite>API Basics — Scrapinghub documentation</cite>
(<time>2015-03-05 23:55:58 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://doc.scrapinghub.com/api.html#data-formats">http://doc.scrapinghub.com/api.html#data-formats</anchor-external></figcaption><blockquote><p>To better support streaming with many popular JSON parsers, we provide JSON Lines format by default, but JSON and CSV are also available.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <cite xml:lang="en">JSON Streaming - Wikipedia, the free encyclopedia</cite>
(<time>2015-03-21 21:13:36 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://en.wikipedia.org/wiki/JSON_Streaming">http://en.wikipedia.org/wiki/JSON_Streaming</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <cite xml:lang="en">Streaming | Flowdock API</cite>
(<time>2015-03-29 18:06:53 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.flowdock.com/api/streaming">https://www.flowdock.com/api/streaming</anchor-external></figcaption><blockquote><p>JSON Stream (application/json)</p><p>The JSON stream returns messages as JSON objects that are delimited by carriage return (\r). Newline characters (\n) may occur in messages, but carriage returns should not.</p><p>Parsers must be tolerant of occasional extra newline characters placed between messages. These characters are sent as periodic &quot;keep-alive&quot; messages to tell clients and NAT firewalls that the connection is still alive during low message volume periods.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <cite>The JSON Streaming Record (JSRec) data format « Huy Nguyen</cite>
(<time>2014-07-23 13:00:27 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.huyng.com/posts/json-streaming-record-data-format/">http://www.huyng.com/posts/json-streaming-record-data-format/</anchor-external></figcaption><blockquote><p>Files of this format have .jsrec as their file extension</p><p>Each line in the file is a json hash map</p><p>Empty lines and lines beginning with ‘#’ are considred comments and ignored during parsing</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <cite xml:lang="en">Docker Remote API v1.17 - Docker Documentation</cite>
(<time>2015-03-26 12:53:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.docker.com/reference/api/docker_remote_api_v1.17/">https://docs.docker.com/reference/api/docker_remote_api_v1.17/</anchor-external></figcaption><blockquote><p>Content-Type: application/json</p><p>{&quot;stream&quot;: &quot;Step 1...&quot;}</p><p>{&quot;stream&quot;: &quot;...&quot;}</p><p>{&quot;error&quot;: &quot;Error...&quot;, &quot;errorDetail&quot;: {&quot;code&quot;: 123, &quot;message&quot;: &quot;Error...&quot;}}</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <cite xml:lang="en">Extend your community - Meetup</cite>
(<time>2015-03-29 18:43:17 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.meetup.com/meetup_api/docs/stream/2/open_events/">http://www.meetup.com/meetup_api/docs/stream/2/open_events/</anchor-external></figcaption><blockquote><p>A response message is one HTTP chunk, the body of which is a single json object, described below, terminated by a newline.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <cite xml:lang="en">Streaming</cite>
(<time>2015-02-21 05:45:15 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://developer.oanda.com/rest-live/streaming/">http://developer.oanda.com/rest-live/streaming/</anchor-external></figcaption><blockquote><p>All data written to the stream are encoded in the JSON format. Events sent to the stream are either heartbeats (every 15 seconds) to ensure that HTTP connection remains active or transactions reporting the following events:</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <cite xml:lang="en">Talk:Line Delimited JSON - Wikipedia, the free encyclopedia</cite>
(<time>2015-02-26 19:59:49 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://en.wikipedia.org/wiki/Talk:Line_Delimited_JSON">http://en.wikipedia.org/wiki/Talk:Line_Delimited_JSON</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <cite>Catmandu::Importer::JSON - search.cpan.org</cite>
(<time>2015-03-29 20:19:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/dist/Catmandu/lib/Catmandu/Importer/JSON.pm">http://search.cpan.org/dist/Catmandu/lib/Catmandu/Importer/JSON.pm</anchor-external></figcaption><blockquote><p>multiline switches optionally between line-delimited JSON and multiline JSON or arrays. the default is line-delimited JSON.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <cite xml:lang="en">Farsight Security/Blog/NMSG and JSON encoding</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mike Schiffman</anchor> 著, <time>2015-06-02 08:28:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.farsightsecurity.com/Blog/20150506-mschiffm-nmsg-nmsgjsontool/">https://www.farsightsecurity.com/Blog/20150506-mschiffm-nmsg-nmsgjsontool/</anchor-external></figcaption><blockquote><p>Currently, the only type of JSON njt expects and emits is newline-delimited JSON. Each record is expected to be terminated with a literal \n and no \n's can appear inside the JSON.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <cite xml:lang="en">Re: Please help with writing spec for async JSON APIs</cite>
(<time>2015-08-18 01:44:10 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.mail-archive.com/es-discuss@mozilla.org/msg36495.html">https://www.mail-archive.com/es-discuss@mozilla.org/msg36495.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <cite>Streaming API | DataSift Developers</cite>
(<time>2015-08-28 21:50:10 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dev.datasift.com/docs/api/streaming-api">http://dev.datasift.com/docs/api/streaming-api</anchor-external></figcaption><blockquote><p>The response body contains a list of JSON objects separated by new lines. </p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <cite>pull | DataSift Developers</cite>
(<time>2015-08-28 23:07:20 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://dev.datasift.com/docs/api/rest-api/endpoints/pull">http://dev.datasift.com/docs/api/rest-api/endpoints/pull</anchor-external></figcaption><blockquote><p>X-DataSift-Format: json_new_line</p><p>Content-Type: application/ldjson</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <cite xml:lang="en">Preparing Data for BigQuery - BigQuery — Google Cloud Platform</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Google</anchor> 著, <time>2015-09-17 06:50:38 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://cloud.google.com/bigquery/preparing-data-for-bigquery">https://cloud.google.com/bigquery/preparing-data-for-bigquery</anchor-external></figcaption><blockquote><p>One JSON object, including any nested/repeated fields, must appear on each line.</p><p>The following example shows sample nested/repeated data:</p><p>{&quot;kind&quot;: &quot;person&quot;, &quot;fullName&quot;: &quot;John Doe&quot;, &quot;age&quot;: 22, &quot;gender&quot;: &quot;Male&quot;, &quot;citiesLived&quot;: <strong>[</strong>{ &quot;place&quot;: &quot;Seattle&quot;, &quot;numberOfYears&quot;: 5}, {&quot;place&quot;: &quot;Stockholm&quot;, &quot;numberOfYears&quot;: 6}<strong>]</strong>}</p><p>{&quot;kind&quot;: &quot;person&quot;, &quot;fullName&quot;: &quot;Jane Austen&quot;, &quot;age&quot;: 24, &quot;gender&quot;: &quot;Female&quot;, &quot;citiesLived&quot;: <strong>[</strong>{&quot;place&quot;: &quot;Los Angeles&quot;, &quot;numberOfYears&quot;: 2}, {&quot;place&quot;: &quot;Tokyo&quot;, &quot;numberOfYears&quot;: 2}<strong>]</strong>}</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <cite>ニコニコ動画 『スナップショット検索API』 ガイド</cite>
(<time>2015-09-15 12:49:32 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.nicovideo.jp/docs/api/snapshot.html#toc5">http://search.nicovideo.jp/docs/api/snapshot.html#toc5</anchor-external></figcaption><blockquote><p>【検索レスポンス】</p><p>{&quot;dqnid&quot;:&quot;c0676eea-cc77-4317-b442-d626c5f34558&quot;,&quot;type&quot;:&quot;hits&quot;,&quot;values&quot;:<strong>[</strong>{&quot;_rowid&quot;:0,&quot;cmsid&quot;:&quot;sm13208019&quot;,&quot;title&quot;:&quot;【DIVA 2nd】 鏡音八八花合戦 【EDIT PV】&quot;,&quot;view_counter&quot;:9999},{&quot;_rowid&quot;:1,&quot;cmsid&quot;:&quot;sm12215733&quot;,&quot;title&quot;:&quot;メイドイン俺でミニゲーム その5&quot;,&quot;view_counter&quot;:9997},{&quot;_rowid&quot;:2,&quot;cmsid&quot;:&quot;sm3495465&quot;,&quot;title&quot;:&quot;【初音ミクオリジナル】~プレゼント~【Independence Free】&quot;,&quot;view_counter&quot;:9997}<strong>]</strong>}</p><p>{&quot;dqnid&quot;:&quot;c0676eea-cc77-4317-b442-d626c5f34558&quot;,&quot;type&quot;:&quot;stats&quot;,&quot;values&quot;:<strong>[</strong>{&quot;_rowid&quot;:0,&quot;service&quot;:&quot;video&quot;,&quot;total&quot;:213353}<strong>]</strong>}</p><p>{&quot;dqnid&quot;:&quot;c0676eea-cc77-4317-b442-d626c5f34558&quot;,&quot;endofstream&quot;:true,&quot;type&quot;:&quot;hits&quot;}</p><p>{&quot;dqnid&quot;:&quot;c0676eea-cc77-4317-b442-d626c5f34558&quot;,&quot;endofstream&quot;:true,&quot;type&quot;:&quot;stats&quot;}</p><p>検索レスポンス仕様</p><p>改行(\n)区切りを一つのチャンクとして、いくつかのチャンクに分かれて返ってきます。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <cite xml:lang="en">thenativeweb/json-lines-client</cite>
(<time>2015-10-09 23:01:06 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/thenativeweb/json-lines-client">https://github.com/thenativeweb/json-lines-client</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> <cite>API Basics — Scrapinghub documentation</cite>
(<time>2015-10-09 21:51:46 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://doc.scrapinghub.com/api.html">http://doc.scrapinghub.com/api.html</anchor-external></figcaption><blockquote><p>To better support streaming with many popular JSON parsers, we provide JSON Lines format by default, but JSON and CSV are also available.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> <cite xml:lang="en">mattdesl/garnish</cite>
(<time>2015-11-29 22:52:44 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mattdesl/garnish">https://github.com/mattdesl/garnish</anchor-external></figcaption><blockquote><p>Typically, you would use bole or ndjson to write the content to garnish. You can also write ndjson to stdout like so:</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <cite xml:lang="en">rvagg/bole</cite>
(<time>2015-11-29 22:53:23 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/rvagg/bole">https://github.com/rvagg/bole</anchor-external></figcaption><blockquote><p>Newline separated JSON output to arbitrary streams</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <cite>JSON Lines | Hacker News</cite>
(<time>2015-11-29 22:59:09 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://news.ycombinator.com/item?id=10280483">https://news.ycombinator.com/item?id=10280483</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <cite>Storing Data as Newline Delimited JSON Entries - Will Anderson</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Will Anderson</anchor> 著, <time>2015-09-15 10:20:59 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://willi.am/blog/2014/07/16/storing-data-as-newline-delimited-json-entries/">http://willi.am/blog/2014/07/16/storing-data-as-newline-delimited-json-entries/</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <cite>json(1) - JSON love for your command line</cite>
(<time>2014-08-25 16:28:55 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://trentm.com/json/">http://trentm.com/json/</anchor-external></figcaption><blockquote><p>&quot;Adjacent&quot; objects means objects separated by a newline, or by no space at all. Adjacent arrays means separate by a newline. These conditions are chosen as a balance between (a) not being ambiguous to parse with a simple regex and (b) enough to be useful for common cases.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <cite xml:lang="en">Everyone loves R markdown and Github; stories from the R Summit, day two | 4D Pie Charts</cite>
(<time>2015-11-29 23:04:26 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://4dpiecharts.com/2015/06/28/everyone-loves-r-markdown-and-github-stories-from-the-r-summit-day-two/">http://4dpiecharts.com/2015/06/28/everyone-loves-r-markdown-and-github-stories-from-the-r-summit-day-two/</anchor-external></figcaption><blockquote><p>jsonlite also supports ndjson, where each line is a JSON object. This is important for large files: you can just parse one line at a time, then return the whole thing as a list or data frame, or you can define a line specific behaviour.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> <cite>R: Streaming JSON input/output</cite>
(<time>2015-11-29 23:05:45 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://finzi.psych.upenn.edu/library/jsonlite/html/stream_in.html">http://finzi.psych.upenn.edu/library/jsonlite/html/stream_in.html</anchor-external></figcaption><blockquote><p>Because parsing huge JSON strings is difficult and inefficient, JSON streaming is done using lines of minified JSON records, a.k.a. ndjson. This is pretty standard: JSON databases such as dat or MongoDB use the same format to import/export datasets. Note that this means that the total stream combined is not valid JSON itself; only the individual lines are. Also note that because line-breaks are used as separators, prettified JSON is not permitted: the JSON lines must be minified. </p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <cite xml:lang="en">stephenplusplus/jsonl</cite>
(<time>2015-11-29 23:09:11 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/stephenplusplus/jsonl">https://github.com/stephenplusplus/jsonl</anchor-external></figcaption><blockquote><p>Transform a stream of JSON into a stream of Line Delimited JSON</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <cite>embulk-parser-jsonlをリリースしました! - Qiita</cite>
(<time>2015-11-29 23:09:57 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://qiita.com/shun0102/items/8989e6ed2ee0f46a0fa9">http://qiita.com/shun0102/items/8989e6ed2ee0f46a0fa9</anchor-external></figcaption><blockquote><p>僕がリリースしたのはjsonlということで、1行につき1つのJSONというフォーマットを読み込むためのparserです。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <cite xml:lang="en">axiaoxin/vim-json-line-format</cite>
(<time>2015-12-29 18:12:22 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/axiaoxin/vim-json-line-format">https://github.com/axiaoxin/vim-json-line-format</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <cite>Orchestrate</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Orchestrate</anchor> 著, <time>2016-03-08 10:22:00 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://orchestrate.io/docs/apiref#bulk">https://orchestrate.io/docs/apiref#bulk</anchor-external></figcaption><blockquote><p>Or alternatively, to send a JSON stream, set the Content-Type header to &quot;application/orchestrate-export-stream+json&quot;. JSON stream data is often sent with one JSON object per line, using newline characters to delimit adjacent objects, but this isn't strictly necessary with Orchestrate. You can format the data with arbitrary whitespace (or put them direclty adjacent to one another, as long as the stream can be parsed as a sequence of valid JSON objects.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <cite xml:lang="en">Event endpoint · Appuri</cite>
( (<time>2016-08-24 16:22:38 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://developer.appuri.com/v1/docs/event-endpoint">http://developer.appuri.com/v1/docs/event-endpoint</anchor-external></figcaption><blockquote><p>Events are sent via an HTTPS POST request with the content type set to application/x-ldjson (Line-Delimited JSON).</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <cite xml:lang="en">REST API</cite>
( (<time>2016-02-27 07:16:28 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://quasar-analytics.org/docs/restapi/">http://quasar-analytics.org/docs/restapi/</anchor-external></figcaption><blockquote><p>The following values are supported for the Accept header:</p><p>Value	Description</p><p>None	“Human-Readable” results, one result per line. Note: not parseable as a single JSON object.</p><p>application/json	Nicely formatted JSON array</p><p>application/ldjson;mode=precise	One result per line</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <cite xml:lang="en">REST API</cite>
( (<time>2016-02-27 07:16:28 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://quasar-analytics.org/docs/restapi/">http://quasar-analytics.org/docs/restapi/</anchor-external></figcaption><blockquote><p>Note that if you remove the Accept header, then you will receive Precise JSON, which is the default format. The response would then look like this:</p><p>{ &quot;city&quot;: &quot;WESTOVER AFB&quot;, &quot;state&quot;: &quot;MA&quot;, &quot;pop&quot;: 1764, &quot;loc&quot;: <strong>[</strong> -72.558657, 42.196672 <strong>]</strong> }</p><p>{ &quot;city&quot;: &quot;CUMMINGTON&quot;, &quot;state&quot;: &quot;MA&quot;, &quot;pop&quot;: 1484, &quot;loc&quot;: <strong>[</strong> -72.905767, 42.435296 <strong>]</strong> }</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> <cite xml:lang="en">trentm/node-bunyan: a simple and fast JSON logging module for node.js services</cite>
( (<time>2016-10-17 20:37:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/trentm/node-bunyan">https://github.com/trentm/node-bunyan</anchor-external></figcaption><blockquote><p>Bunyan log records are JSON. A few fields are added automatically: &quot;pid&quot;, &quot;hostname&quot;, &quot;time&quot; and &quot;v&quot;.</p><p>$ node hi.js</p><p>{&quot;name&quot;:&quot;myapp&quot;,&quot;hostname&quot;:&quot;banana.local&quot;,&quot;pid&quot;:40161,&quot;level&quot;:30,&quot;msg&quot;:&quot;hi&quot;,&quot;time&quot;:&quot;2013-01-04T18:46:23.851Z&quot;,&quot;v&quot;:0}</p><p>{&quot;name&quot;:&quot;myapp&quot;,&quot;hostname&quot;:&quot;banana.local&quot;,&quot;pid&quot;:40161,&quot;level&quot;:40,&quot;lang&quot;:&quot;fr&quot;,&quot;msg&quot;:&quot;au revoir&quot;,&quot;time&quot;:&quot;2013-01-04T18:46:23.853Z&quot;,&quot;v&quot;:0}</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <cite xml:lang="en">trentm/node-bunyan: a simple and fast JSON logging module for node.js services</cite>
( (<time>2016-10-17 20:37:28 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/trentm/node-bunyan">https://github.com/trentm/node-bunyan</anchor-external></figcaption><blockquote><p>Bunyan log output is a stream of JSON objects. </p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <cite>AnyEvent::Handle - search.cpan.org</cite>
( (<time>2016-10-26 11:48:41 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/dist/AnyEvent/lib/AnyEvent/Handle.pm">http://search.cpan.org/dist/AnyEvent/lib/AnyEvent/Handle.pm</anchor-external></figcaption><blockquote><p>A simple RPC protocol that interoperates easily with other languages is to send JSON arrays (or objects, although arrays are usually the better choice as they mimic how function argument passing works) and a newline after each JSON text:</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <cite>Documentation</cite>
(<time>2016-09-27 20:12:27 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://docs.appbase.io/scalr/rest/intro.html#quick-start-to-the-rest-api-step-1-making-requests">http://docs.appbase.io/scalr/rest/intro.html#quick-start-to-the-rest-api-step-1-making-requests</anchor-external></figcaption><blockquote><p>In the new document update, we can see the price change (5595 -&gt; 6034) being reflected. Subsequent changes will be streamed to the resonse as raw JSON objects. As we see, there are no delimiters between between two consecutive JSON responses.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> <cite>Fun hacks for faster content - JakeArchibald.com</cite>
(<time>2016-12-20 19:09:26 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://jakearchibald.com/2016/fun-hacks-faster-content/#newline-delimited-json">https://jakearchibald.com/2016/fun-hacks-faster-content/#newline-delimited-json</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> <cite xml:lang="en">Streaming | Flowdock API</cite>
(<time>2016-12-21 22:49:33 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.flowdock.com/api/streaming">https://www.flowdock.com/api/streaming</anchor-external></figcaption><blockquote><p>JSON Stream (application/json)</p><p>The JSON stream returns messages as JSON objects that are delimited by carriage return (\r). Newline characters (\n) may occur in messages, but carriage returns should not.</p><p>Parsers must be tolerant of occasional extra newline characters placed between messages. These characters are sent as periodic “keep-alive” messages to tell clients and NAT firewalls that the connection is still alive during low message volume periods.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <cite xml:lang="en">Event V1/V2 (deprecated) - SendGrid Documentation | SendGrid</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SendGrid</anchor>著, <time>2017-03-18 02:16:02 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://sendgrid.com/docs/API_Reference/Webhooks/event_deprecated.html">https://sendgrid.com/docs/API_Reference/Webhooks/event_deprecated.html</anchor-external></figcaption><blockquote><p>Batched event POSTs have a content-type header of application/json, and contain exactly one JSON string per line, with each line representing one event. Please note that currently the POST headers define this post as application/json, though it’s not; each line is a valid JSON string, but the overall POST body is not.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NDJSON</anchor>、
徐々にメジャーになってきてる感ある</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <cite xml:lang="en">Introducing streaming newline-delimited JSON (NDJSON) with ReactPHP</cite>, <time>2019-10-30 19:52:35 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://clue.engineering/2018/introducing-reactphp-ndjson">https://clue.engineering/2018/introducing-reactphp-ndjson</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <cite xml:lang="en">GitHub - ndjson/ndjson-spec: Specification</cite>, <time>2019-10-31 18:10:26 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson-spec">https://github.com/ndjson/ndjson-spec</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <cite xml:lang="en">Invalid mime type application/stream+json <strong>[</strong>SPR-16742<strong>]</strong> · Issue #21283 · spring-projects/spring-framework · GitHub</cite>, <time>2019-10-31 18:12:28 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/spring-projects/spring-framework/issues/21283">https://github.com/spring-projects/spring-framework/issues/21283</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> <cite xml:lang="en">Relation to JSON Text Sequences standard · Issue #25 · ndjson/ndjson-spec · GitHub</cite>, <time>2019-10-31 18:13:18 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson-spec/issues/25">https://github.com/ndjson/ndjson-spec/issues/25</anchor-external></p><blockquote><p>application/x-json-stream and application/x-jsonlines</p></blockquote><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <cite xml:lang="en">GeoJSONSeq: sequence of GeoJSON features — GDAL documentation</cite>
(<time>2021-12-08T15:14:16.000Z</time>, <time>2021-12-09T05:17:47.386Z</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://gdal.org/drivers/vector/geojsonseq.html">https://gdal.org/drivers/vector/geojsonseq.html</anchor-external></figcaption><blockquote><p>This driver implements read/creation support for features encoded individually as GeoJSON Feature objects, separated by newline (LF) (Newline Delimited JSON) </p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> 
<cite xml:lang="en">jsonlines.org and ndjson.org · Issue #22 · wardi/jsonlines · GitHub</cite>, <time>2024-03-06T03:42:22.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/wardi/jsonlines/issues/22">https://github.com/wardi/jsonlines/issues/22</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> 
<cite xml:lang="en">jsonlines · Issue #35 · ndjson/ndjson-spec · GitHub</cite>, <time>2024-03-06T03:44:32.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson-spec/issues/35">https://github.com/ndjson/ndjson-spec/issues/35</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> 
<cite xml:lang="en">jsonlines.org · Issue #8 · ndjson/ndjson-spec · GitHub</cite>, <time>2024-03-06T03:45:16.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson-spec/issues/8">https://github.com/ndjson/ndjson-spec/issues/8</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> 
<cite xml:lang="en">Standard MIME content-type · Issue #19 · wardi/jsonlines · GitHub</cite>, <time>2024-03-06T03:47:13.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/wardi/jsonlines/issues/19">https://github.com/wardi/jsonlines/issues/19</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> 
<cite xml:lang="en">1603986 - Support newline delimited JSON (NDJSON) with MIME type application/x-ndjson</cite>, <time>2024-03-06T03:53:01.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=1603986">https://bugzilla.mozilla.org/show_bug.cgi?id=1603986</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</anchor-end> 
<cite xml:lang="en">Domain ndjson.org has expired · Issue #24 · ndjson/ndjson.github.io · GitHub</cite>, <time>2024-03-06T03:54:03.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/ndjson/ndjson.github.io/issues/24">https://github.com/ndjson/ndjson.github.io/issues/24</anchor-external></p></section></body></html>