JSON.strigifyの注意点


JSON.parseを通じて一つのobjectオブジェクトをJSON形式の文字列に変換したことがあります.しかし、皆さんは次のようなことに注意しましたか?
var obj = {"name" : "xiao wang", "salary" : undefined};
var str = JSON.stringify(obj);
alert(str);
 alertから出てくる文字列は何だと思いますか?
 
次の文字列だと思いますか?
{"name" : "xiao wang", "salary" : undefined}
 しかし、不幸なことに、あなたが想像していたほどではなく、本当に出力されたのは:
 
{"name":"xiao wang"}
 はい、見間違えていません.「salary」:undefinedは出力されていません.
 
ですから、今後はJSON.strigifyを使う際に、ある元素の値がundefinedの時に無視されます.
 
また、nullの場合について説明します.
var obj = {"name" : "xiao wang", "salary" : undefined, "sex" : null};
var str = JSON.stringify(obj);
alert(str);
 その出力結果は:
 
{"name":"xiao wang","sex":null}
 はい、そうです.nullは無視されません.
 
 
以上の試験環境:WIN 7+IE 10