NDJSON フォーマッター&バリデーター
ガイド
NDJSON フォーマッター&バリデーター
NDJSON(新行で区切られたJSON / JSONライン)ドキュメントを入力ボックスに貼り付け、またはアップローダーを使ってファイルをアップロードし、すべてのレコードを一度にチェックしてください。各行は独立して解析されるため、1つの破損したレコードが他のレコードを隠すことはありません。このツールは有効および無効な行数、トップレベルのキー、および失敗した行の正確なパースエラーを報告します。これはログストリーム、BigQueryエクスポート、Elasticsearchのブロードパッケージに最適です。
使用方法
- NDJSONコンテンツを入力ボックスに貼り付け、またはアップローダーを使って
.ndjson/.jsonl/.txtファイルをアップロードしてください。 - フォーマットモードを選択してください: コンパクト 1レコード1行(真のNDJSON)を保持する、または 美しく 各レコードをインデントと空白行セパレータで再構成します。
- トグル 空白行をスキップ データに不要な空行がある場合、それを削除したい場合、および オブジェクトキーを並べる 再現可能な差分と安定したハッシュを確保するため。
- 統計パネルを確認し、総行数、有効行数、無効行数、および各行のエラーメッセージを確認し、フォーマットされた出力をコピーまたはダウンロードしてください。
機能
- 行単位の検証 — 各行は独立してパースされ、正確なJavaScript JSON.parseエラーメッセージと元の行番号が表示されます。
- コンパクトおよび美しくなるモード — 1レコード1行の厳密なNDJSONと人間が読みやすい複数行フォーマットを必要に応じて切り替えできます。
- トップキー分布 — 有効なレコード間で最も頻出するトップレベルフィールドを確認し、即時スキーマ発見に役立ちます。
- キーを並べる — オブジェクトのキーを深層でアルファベット順に並べ、再現可能な差分と安定したハッシュを確保します。
- 空白行の処理 — ログストリームなどに挿入される空行をカウントし、必要に応じて削除します。
- ファイルおよびクリップボード対応 — 大きなファイルをアップロードし、クリップボードにクリーンされた出力をコピー、またはNDJSONとしてパイプに使えるファイルとしてダウンロードできます。
- ブラウザ内で完全に動作 — 何のアップロードも行われません。このツールはセンシティブなログデータやエクスポートに対して安全です。
NDJSONを使うタイミング
NDJSONはストリーミングJSONのデファクトワイヤフォーマットです:DockerおよびKubernetesコンテナログ、Elasticsearch _bulk ボディ、BigQueryエクスポート、OpenAIのバッチジョブ、Lokiのイングレスはすべて1つの独立したJSONオブジェクト1行で構成されています。標準的なJSONフォーマットは最初の新行に到達した時点で処理を中断し、このツールはその形状に特化して作成されています。
よくある質問
-
JSONとNDJSONの違いは?
標準JSONは1ドキュメントに1つの値(オブジェクト、配列、数値、文字列、ブール値、またはnull)をエンコードします。NDJSON(またはJSON LinesまたはLDJSON)は1つの独立したJSON値1行をエンコードし、新行文字で区切られます。NDJSONはストリーミング可能で、パーサーはファイル全体をメモリにロードせずに、記録が到着するたびに処理できるため、ログパイプラインや大量APIで広く使われています。
-
NDJSONレコードにエスケープされない改行が許容される理由は?
改行文字はNDJSONのレコードセパレータであり、値内にエスケープされない改行は1つのレコードを2つに分割します。このフォーマットでは、各レコードにコンパクトな表現を生成し、埋め込まれた改行はエスケープシーケンス(バックスラッシュ-n)として記述される必要があります。インデントされた複数行オブジェクトを持つ美しくプリントされたJSONはNDJSONとして無効です。
-
NDJSONはJSON LinesおよびLDJSONと同じですか?
実際には、はい。NDJSON(新行で区切られたJSON)、JSON Lines(jsonlines.org)、およびLDJSON(行区切られたJSON)はすべて同じ規則を示しています:1つのJSON値1行、新行文字(U+000A)で区切られます。小さな規格の違いは、トリーリングスペース、UTF-8 BOM、またはカーソルリターン行終端が許容されるかどうかですが、すべてのパーサーはシンプルなLF区切りのレコードを受容します。
-
行単位の検証は、ドキュメント全体を検証するとは何が違う?
通常のJSONパーサーでは、最初の構文エラーが全体のパースを中断し、その後の問題を隠します。行単位の検証は各行に独立したパーサーを実行し、各レコードが成功するか、またはそのエラーメッセージと行番号を表面化します。これにより、破損したレコードを分離し、有効なレコードを保持してインポートでき、プロダクターの変更を差分化しやすくなります。
-
NDJSONのMIMEタイプとファイル拡張子は?
NDJSONのIANA登録されたメディアタイプはapplication/x-ndjsonであり、application/jsonlも広く受け入れられています。一般的なファイル拡張子は.ndjsonおよび.jsonlです。.jsonを新行で区切られたファイルに使うことは技術的に誤りであり、拡張子からフォーマットを自動検出するツールに破壊します。
