JSON Lines と NDJSON を検証・変換する

1 行に 1 つの JSON 値を貼り付けてください。無効な行は行番号(位置が取れる場合は列も)付きで報告され、変換結果には有効な行だけが入ります。空行・BOM・CRLF はそのまま受け付け、大きな入力ではプレビューが先頭 1 MB に制限されます。

ブラウザ内でローカルに実行
このツールの処理はすべてブラウザ内で行われます。KivTools が入力内容をアップロード・保存したり、外部 API に送信したりすることはありません。
JSON Lines 入力空行を除く各行に 1 つの完全な JSON 値を入力してください。ファイル、イベント、レコードはアップロードされません。

JSON Lines を検証する手順

行区切りの JSON を貼り付けて「検証と変換」を押すと、空行以外の各行を個別に解析します。1 行だけ壊れていても他は隠れません。レポートは該当する行と、解析が止まった列を示し、その行は変換結果に含めません。

空行、先頭の BOM、CRLF 改行、行の前後の空白はそのまま受け付けます。変換はこのタブ内で完結し、処理中にページがリクエストを送ることはありません。

  1. テキスト領域にレコードを貼り付けるか、「サンプルを読み込む」で入力の形を確認します。
  2. 出力形式を選びます。「整形された JSON 配列」か、1 行に 1 値の「正規化された JSON Lines」です。
  3. 「検証と変換」を押し、レコード数・有効・無効な行・最上位フィールドの各指標を確認します。
  4. 「コピー」または「ダウンロード」で結果を取り出します。プレビューが制限されていても、どちらも完全な出力を含みます。

レポートの読み方

検証レポートの読み方

解析できなかった行は赤で表示され、行番号が付きます。ブラウザーの JSON パーサーが位置を返す場合は、その行内の列も示します。無効な行は変換結果に含まれないため、変換後の配列は入力の行数より少なくなることがあります。

有効な行はすべて数えられ、オブジェクト行の最上位キーはフィールド欄に集計されます。配列・数値・文字列・真偽値・null として解析された行はそのまま変換され、数えるべきオブジェクトのフィールドがないため情報項目として表示されます。同じキーが重複する場合は JSON.parse の規則どおり、最後の値が残ります。

JSON が正確に扱えない数値

JSON には整数型がないため、12345678901234567890 は最も近い倍精度値として届き、12345678901234567000 として書き戻されます。2^53-1 を超える整数を含む行は、正確な値として扱わず、丸められた可能性がある旨を警告します。

倍精度で表せる範囲を超える数値(1e999 など)はエラーとして報告します。JSON.parse が Infinity に変換するため、変換後の値は null になります。

大きな入力と 1 MB のプレビュー

数メガバイトの文字列をテキスト領域に書き込むとページが固まるため、プレビューは先頭 1 MB で打ち切り、その旨を表示します。コピーとダウンロードは常に完全な結果を含みます。10 万件の入力を変換したとき、コピーしたテキストから 10 万件すべてを再解析できました。

このページの Chrome での実測値は、1,000 行で約 10 ms、10,000 行(0.4 MB)で 50〜90 ms、50,000 行(2 MB)で 0.3〜0.6 秒です。非常に大きなファイルではブラウザーのメモリが上限になります。

最近使ったツール: