「undefined is not valid JSON」エラーの原因
・JavaScriptでは、undefinedは特殊な値であり、変数が値を持たないことを示す。
・JSONは、データ交換形式として広く使用されており、その構文はJavaScriptのリテラル構文に基づいているが、undefinedを含むことは許されていない。
したがって、JavaScriptオブジェクトにundefinedが含まれている場合、そのオブジェクトをJSONに変換しようとすると、「undefined is not valid JSON」というエラーが発生する。これは、JSON.stringify()メソッドがundefinedを無視または除外し、結果のJSON文字列にはundefinedが含まれない為である。
このエラーを解決するため
・undefinedを含む可能性のあるオブジェクトをJSONに変換する前に、適切に処理する必要がある。
undefinedを別の値に置き換えるか、
undefinedを含むプロパティを完全に削除するかなど…。