謎のコード「Null 2」はなぜ書く?Json整形の仕組みと落とし穴を徹底解説

謎のコード「Null 2」はなぜ書く?Json整形の仕組みと落とし穴を徹底解説

謎のコード「Null 2」はなぜ書く?Json整形の仕組みと落とし穴を徹底解説について見逃せない 注意点を分かりやすい構成で解説いたします。

「よく見かけるコードの『null 2』とは一体なぜ書くのか?」という疑問に対する直接的な回答は、JavaScriptオブジェクト整形出力において「余計なプロパティの絞り込みを行わず、人間が最も読みやすい半角スペース2個の改行付きテキストに変換するため」です。

ウェブブラウザやNode.js環境で利用される標準API `JSON.stringify()` は、データ構造を文字列に変換するシリアライズ処理を担います。この関数の基本仕様は最大3つの引数を受け取る設計になっています。

構文の基本形は `JSON.stringify(value, replacer, space)` です。第1引数に対象となるオブジェクトや配列を渡すだけの場合、出力される文字列は改行も空白もない「1行に圧縮された文字列」になります。コンピュータ間の通信やストレージ容量の最小化にはこの圧縮形式が最適ですが、デバッグ作業を行う人間にとっては極めて視認性が低く、複雑なネスト構造を把握することが困難です。

そこで活用されるのが第3引数のJSON文字列化のインデント設定です。ここに数値の「2」を指定することで、キーの階層ごとに半角スペース2文字分の字下げと改行が自動挿入されます。しかし、JavaScriptの仕様上、第2引数を省略して第3引数だけを指定することはできません。そのため、第2引数に「フィルタリング処理は不要」という意味の「null」を配置する形となり、結果として開発現場でおなじみの「null, 2」という組み合わせが成立します。

伊藤 翔太
著者

伊藤 翔太

マネー知識やキャリア形成に役立つノウハウを、初心者にも分かりやすく解説するのが得意です。