JSON.stringify が undefined を保持すると、それ以外の場合は削除されます。質問する

JSON.stringify が undefined を保持すると、それ以外の場合は削除されます。質問する

undefined実行時に値を保持するにはどうすればよいですかJSON.stringify(hash)?

次に例を示します。

var hash = {
  "name" : "boda",
  "email" : undefined,
  "country" : "africa"
};

var string = JSON.stringify(hash);

// > '{"name":"boda","country":"africa"}'

からメールが消えましたJSON.stringify

ベストアンサー1

JSON 仕様ではundefined値を許可していませんが、null値は許可しています。

次のように、値を値にJSON.stringify自動的に変換する置換関数を渡すこともできます。undefinednull

var string = JSON.stringify(
  obj,
  function(k, v) { return v === undefined ? null : v; }
);

これは配列内の未定義の値にも機能し、JSON.stringifyすでにそれらを に変換していますnull

おすすめ記事