多くの開発者が見落とす JSON.stringify の第 2 引数
2025-04-01
JSON.stringify は単なる文字列化 API ではありません。replacer で出力制御し、space で読みやすさを調整できます。
replacer 配列 = ホワイトリスト
['id','name'] を渡すと指定キーのみを出力できます。
JSON.stringify(user, ["id", "name"]);replacer 関数
undefined を返すと除外でき、パスワード除去や日付変換に使えます。
JSON.stringify(obj, (k, v) => k === "password" ? undefined : v);space
第 3 引数に 2 や '\t' を指定すると pretty print、未指定ならコンパクト出力です。
toJSON
オブジェクトの toJSON が優先され、Date は ISO 文字列で出力されます。