JSON5 と JSONC:コメント付き JSON
両方の方言が存在するのは、人間が書く設定にコメントと末尾カンマが必要だからです。しかし構文とエコシステムの広がりは異なり、選択を誤るとツールチェーンが詰まります。
初級約 10 分で読めます2026-10-30 更新
JSON5、JSONC、JSON Lines、NDJSON はコメントや末尾カンマ、ストリーミングといった現実的な要求を満たしますが、互換性と選択の難しさも持ち込んでしまいます。
6 件の記事両方の方言が存在するのは、人間が書く設定にコメントと末尾カンマが必要だからです。しかし構文とエコシステムの広がりは異なり、選択を誤るとツールチェーンが詰まります。
1 行 1 JSON 値にすると、追記可能・ストリーミング可能・破損が 1 行に閉じるという利点が得られます。代償は全体構造の欠如で、検証は行単位で行う必要があります。
RFC 7464 は 0x1E の区切り文字で JSON テキストをストリーミングし、読み書きを同時に行えます。規則、NDJSON との違い、分割してからパースする実装を扱います。
設定ファイルにはコメント、日付、複数行テキストが必要で、そこが JSON の弱点です。JSON、TOML、YAML、CSON を比較し、変換で必ず失われるものを確認します。
MessagePack、CBOR、BSON はいずれも JSON をバイト列に圧縮します。バイトコスト、int64 とバイナリの扱いを比較し、切り替える価値があるかの線引きを示します。
.jsonl 全体を JSON.parse に渡してエラーが出るのは、ファイルが壊れているからではなく、読み方が違うからです。この記事では、確認と行単位読み取りの標準パターン、JSON 配列との相互変換コマンド、6 種類の壊れた行の対処表、ストリーミング API で NDJSON を消費する正しい書き方を解説します。