JSON Lines の変換
JSON Lines と JSON の配列を、行番号つきの検査で行き来する。
1 行に 1 つの JSON を書く JSON Lines(NDJSON)を、通常の JSON の配列に変換します。逆に、JSON の配列を JSON Lines にもできます。壊れた行は行と列の位置つきで示し、空行や BOM など形式に反する点も指摘します。入力はブラウザの中だけで処理します。
JSON Lines と JSON の配列を変換する
入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。
結果
エラー 0 件・警告 0 件・情報 0 件
指摘(エラー・警告・情報)
指摘はありません。
| 判定 | 変換しました(2 件の値) |
|---|---|
| 値の数 | 2 個 |
| 空行 | 0 行 |
変換した結果
[
{"id":1,"name":"A"},
{"id":2,"name":"B"}
]
初期表示は入力例「2 行の JSON Lines を配列にする」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。
ご利用にあたって
- 検査は JSON の構文と JSON Lines の形式に限ります。読み込む側のソフトが独自の制限や挙動を持つ場合があります。
- 大きなデータはお使いの端末の性能によって処理に時間がかかることがあります。
使い方
- 変換の向きを選びます。JSON Lines を配列にするときは「JSON Lines から JSON の配列へ」、配列を 1 行ずつに分けるときは「JSON の配列から JSON Lines へ」です。
- 変換したいテキストを貼り付けるか、ファイルを選びます。JSON Lines は 1 行に 1 つの JSON 値(オブジェクトでも配列でも数値でもよい)を書きます。
- エラーが出たら、指摘に示された行と列を直して貼り直します。空行や先頭の BOM は警告ですが、読み飛ばして変換します。
- 結果をコピーするかダウンロードします。JSON Lines への変換結果は、各行を空白を詰めた 1 行にし、最後に改行を付けます。
入力例と結果
代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。
| 入力例 | 結果 |
|---|---|
| 2 行の JSON Lines を配列にする | エラー 0 件・警告 0 件・情報 0 件 |
| 値の種類が混ざり、最後の改行がない | エラー 0 件・警告 0 件・情報 1 件 |
| 途中に空行がある | エラー 0 件・警告 1 件・情報 0 件 |
| 2 行目の値が途中で切れている | エラー 1 件・警告 0 件・情報 0 件 |
| 配列を JSON Lines にする | エラー 0 件・警告 0 件・情報 1 件 |
| 改行が CRLF の JSON Lines | エラー 0 件・警告 0 件・情報 1 件 |
このツールでできないこと(制約)
- 値の内容(項目の有無・型・値の範囲)の検査や、JSON の整形はしません。1 行ずつ構文が正しいかどうかを調べて変換します。
- 巨大なファイル(数百 MB など)の分割処理はできません。ブラウザの中で扱える 200 万文字までです。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
- 1 つの値が複数行に書かれた JSON(字下げされたもの)は、JSON Lines ではないため、行ごとにエラーになります。先に配列の形にしてから変換してください。
よくある質問
JSON Lines と NDJSON は同じですか?
ほぼ同じ形式です。どちらも 1 行に 1 つの JSON 値を書き、改行で区切ります。このツールは jsonlines.org の規則に沿って検査しますが、NDJSON のファイルも、各行が JSON 値であればそのまま変換できます。
空行があるとなぜ警告になるのですか?
jsonlines.org では、各行が有効な JSON 値であることを求めており、空行は有効な JSON 値ではないためです。読み込むソフトによっては空行を飛ばしますが、エラーにするものもあるので、元のデータから取り除くのが安全です。
貼り付けたデータはどこかに送られますか?
送られません。変換はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。社外秘のログでも内容を送信しませんが、共用の端末では使い終わったらページを閉じてください。