JSONL ビューア
JSONL(改行区切り JSON)ファイルをページ送りテーブルで表示。最大数千行を貼り付け、検索・フィルタ・個別レコードの展開が可能。ファイルがブラウザを出ることはありません。
用途
JSONL(NDJSON とも呼ばれます — 改行区切り JSON)は、LLM の学習データ、監査ログ、イベントストリーム、バッチ API 出力の事実上の標準フォーマットです。1 行に 1 オブジェクト、外側の配列はありません。追記しやすく、行単位で解析でき、一部破損にも強い。ただし人が読むのは辛い — 中括弧の壁ではなくテーブルが欲しいわけです。本ツールはそのテーブルをブラウザ内で提供します。アップロードはなく、FileReader でその場で読み込みます。
使うべきタイミング
- LLM の学習データ点検。 ファインチューニング用のデータセットは典型的には 1 行に
{"messages": [...]}。コーパスを流し読みし、クラスバランスを確認し、トレーナーを落としている 1 件の外れ値を発見します。 - OpenAI / Anthropic のバッチ出力の閲覧。 両社ともバッチ結果は JSONL で返ります(1 リクエスト 1 行、ステータスと内容付き)。どのリクエストが通ったか一目で。
- 監査ログのレビュー。 JSONL のアプリログは一般的。ブラウザを離れずアドホックに分析できます。
- イベントストリームの確認。 Kafka / Kinesis のダンプはしばしば JSONL。jq なしで素早く分割表示。
- JSONL → CSV 変換。 表計算ソフトに入れたいときは Export ボタンを使います。
解析の挙動
- 空でない各行を独立に JSON としてパースします。空行は無視されます。
- パース失敗の行は赤い行とエラーメッセージで表示され、残りの行は処理を続けます。意図的な仕様 — 一行壊れただけで残り千行を諦めるべきではないため。
- カラムは先頭 100 件の有効行に出現するキーの和集合を、登場頻度順で自動検出します。100 行以降に初登場する希少キーはデータ内には残りますが、独自カラムは作られません。
- ネストされたオブジェクトや配列はセル内で JSON スニペット(省略付き)として表示。行をクリックすると整形済み JSON が展開されます。
よくある注意点
- JSON 配列 ≠ JSONL。 ファイルが
[{...}, {...}, {...}]のようにカンマ区切りで囲まれているなら、それは JSON 配列であって JSONL ではありません。外側の括弧を外しカンマを改行に置き換えるか、JSON ビューアを使ってください。 - 整形済み JSON は JSONL ではありません。 1 つの「オブジェクト」が複数行にまたがると、パーサは断片を見ることになります。JSONL は厳密に 1 行 1 オブジェクトです。
- 形がバラバラな行も受け付けるが汚くなります。 半分が
content、半分がtextなら、2 カラムと多数の空白セルになります。意図通りの場合も多いですが、データクレンジングのバグのサインのこともあります。 - 非常に大きなファイル。 全体をメモリ上で解析します。50〜100 MB 程度なら最近のラップトップで問題なく動きますが、それを超えると遅くなります。数 GB のログにはストリーミング CLI ツールを。
- プライバシー。 ファイルはページから出ません。FileReader が JS メモリへバイトを読み込むだけで、ネットワーク通信は発生しません。