JSONLの検証と変換
1行1JSONは便利ですが、4,317行目が壊れていたら。壊れた行を全部一度に見つけます。
このガイドで使う道具
やりたいこと
JSON Linesはログとデータセットの形式で、各行が完全なJSON値です。多くのパーサは最初の壊れた行で止まり残りを教えません。この検証は全失敗を列挙します。
3つのモード
検証は各壊れた行をパースエラー付きで報告。JSONL→JSONは行を配列に包み、JSON→JSONLは配列を行に展開します。
具体例
6行中3行目が{"a": 1,}なら'line 3: unexpected token'と報告しつつ1,2,4,5,6行は解析します。ファイルを二分探索せず1行だけ直せます。
対応範囲
入力は100,000行・2MBまで。各行は完全なJSONである必要があり、複数行に整形されたオブジェクトはJSONLではなくJSONです。