JSONL から JSON への変換ツール
JSONL(JSON Lines)を JSON 配列に即座に変換。100% クライアントサイド処理、データはブラウザから外に出ません。
入力 JSONL
.jsonl ファイルをここにドロップ、またはクリックして参照
.jsonl, .ndjson, .json, .txt に対応
入力 JSONL
.jsonl ファイルをここにドロップ、またはクリックして参照
.jsonl, .ndjson, .json, .txt に対応
出力 JSON
JSONL コンテンツを貼り付けまたはドロップして変換
JSONL を JSON に変換する方法
JSONL(JSON Lines)は 1 行に 1 つの JSON オブジェクトを格納します。標準 JSON に変換するには、各行を個別に解析し、結果を 1 つの JSON 配列にまとめます。
当ツールはブラウザ内で完全に JSONL ファイルを読み取ります。データがサーバーにアップロードされることはありません。JSONL テキストを貼り付けるかファイルをドロップするだけで、変換された JSON 配列が即座に表示されます。
出力される JSON 配列は元の行順序を保持します。無効な行はスキップされ、別途報告されるため、修正が容易です。
JSONL から JSON への変換とは?
JSONL から JSON への変換は、改行区切り形式(1 行に 1 つの JSON オブジェクト)を標準的な JSON 配列に変換します。API、可視化ツール、データベースインポートユーティリティなど、標準 JSON のみを受け付けるツールで JSONL データを使用する必要がある場合に便利です。
例えば、3 つのオブジェクトを含む JSONL ファイルは、読みやすいようにインデントされた 3 つのオブジェクトを含む JSON 配列になります。
出力形式の選び方
JSONL から JSON への変換は、利用側が期待する形式に応じて 3 種類に分かれます。JSONL との決定的な違いは、JSON 配列は全体を一括で解析する必要がある点です。そのため、出力を読み取る側はファイル全体をメモリに保持しなければならず、変換した時点で JSONL のストリーミング処理の利点は失われます。
| 出力形式 | 適した用途 | 注意点 |
|---|---|---|
| コンパクトな配列 — [{...},{...}] | 標準的な JSON 配列のボディを要求する API やサービス | 1 行が長くなり、目視確認や git での差分確認が困難 |
| 整形済み配列 | 設定ファイル、コードレビュー、目視確認 | 一般的なレコードでは、コンパクトな出力より約 20〜40% 大きくなる |
| オブジェクトでラップ — {"data": [...]} | トップレベルにオブジェクトのエンベロープを要求する利用側 | このツールから直接は出力されないため、変換後に配列をラップする |
一般的な使用例
API 統合
JSONL ログファイルやデータエクスポートを JSON 配列に変換し、REST API で使用。
データ分析
JSONL データセットを JSON に変換し、可視化ライブラリや分析ツールで使用。
データベースインポート
JSONL エクスポートを JSON 配列に変換し、MongoDB、PostgreSQL などにインポート。
ML データセット準備
異なるトレーニングフレームワーク向けに JSONL と JSON 形式間で機械学習データセットを変換。
自動テストと QA
JSONL テストフィクスチャを JSON 配列に変換し、JSON 入力を必要とする Jest、Mocha、Playwright などの統合テストフレームワークで使用。
フロントエンド開発
JSONL データエクスポートを JSON 配列に変換し、開発中の React、Vue、Angular アプリケーションでモックデータとして使用。
コマンドラインで同じ変換を行う
サーバー上にあるファイルやスクリプト内では、jq の 1 つのフラグだけで変換できます。slurp モードは全行を読み取り、1 つの配列にまとめます。Python 版は 3 行で、追加の依存関係も不要です。
# jq: JSONL の全行を 1 つの JSON 配列にまとめるjq -s '.' records.jsonl > records.json# Python: 標準ライブラリで同じ結果を得るpython3 - <<'PY'import jsonwith open('records.jsonl') as f:rows = [json.loads(line) for line in f if line.strip()]with open('records.json', 'w') as out:json.dump(rows, out, indent=2)PY
どちらもデータセット全体をメモリに読み込みます。数 MB なら問題ありませんが、数 GB では負荷が大きくなります。対象システムが JSONL を受け付けるなら、大容量データでは通常、改行区切り形式のまま扱う方が適切です。
よくあるエラーと解決策
最終行の末尾カンマ
JSONL ファイルでは、各 JSON オブジェクトの最後のプロパティの後に末尾カンマを付けてはいけません。JavaScript とは異なり、JSON は末尾カンマを厳密に禁止しています。各行の最後のキー値ペアの後のカンマを削除してください。
空行によるパースエラー
JSONL レコード間の空行がパーサーのエラーを引き起こすことがあります。当ツールは空行を自動的にスキップしますが、他のツールではスキップされない場合があります。JSONL ファイルのレコード間に意図しない空行がないことを確認してください。
混合エンコーディング(UTF-8 BOM)
UTF-8 BOM(バイトオーダーマーク)付きで保存されたファイルは、最初の行のパースが失敗する原因になります。最初の行だけが失敗し残りが成功する場合は、テキストエディタで BOM なし UTF-8 として再保存してください。
よくある質問
JSONL to JSON コンバーターは何をしますか?
はい。すべての変換はブラウザ内でローカルに行われます。データがサーバーに送信されることはありません。JSONL コンテンツがデバイスから外に出ることはありません。
この JSONL to JSON コンバーターで NDJSON を JSON に変換できますか?
無効な行は変換時にスキップされ、エラー詳細とともに別途表示されます。有効な行は通常通り変換されます。
この JSONL to JSON コンバーターはファイルをアップロードしますか?
厳密な制限はありません。コンバーターはストリーミングを使用して大容量ファイルを効率的に処理します。数百 MB のファイルもスムーズに変換できます。
JSONL to JSON で元の行順序は保持されますか?
はい!JSON to JSONL コンバーターを使用して、JSON 配列を JSONL 形式に変換できます。
JSONL to JSON が最初の行で失敗するのはなぜですか(UTF-8 BOM)?
コンバーターはストリーミング方式で行を処理するため、ファイル全体を一度にメモリに読み込みません。数百万行のファイルも変換可能ですが、非常に大きなファイル(500MB 以上)はデバイスの性能によって数秒かかる場合があります。
JSON を JSONL に戻すにはどうすればよいですか?
はい。コンバーターは JSON 配列を構築する際に、各 JSONL 行の元のキー順序を保持します。キーの並び替え、追加、削除は行われません。
このツールで NDJSON ファイルを変換できますか?
はい。NDJSON(Newline Delimited JSON)と JSONL は同じ形式です。.ndjson、.jsonl、.json、.txt ファイルをアップロードでき、すべて正しく処理されます。
jq などのコマンドラインツールと比べてどうですか?
当ツールは即時プレビュー、エラーハイライト、ワンクリックダウンロードを備えたビジュアルインターフェースを提供します。jq とは異なり、インストール不要でブラウザがあればどのデバイスでも動作します。スクリプト化されたワークフローには jq の方が適している場合があります。