JSON.strigifyの注意点
1015 ワード
JSON.parseを通じて一つのobjectオブジェクトをJSON形式の文字列に変換したことがあります.しかし、皆さんは次のようなことに注意しましたか?
次の文字列だと思いますか?
ですから、今後はJSON.strigifyを使う際に、ある元素の値がundefinedの時に無視されます.
また、nullの場合について説明します.
以上の試験環境:WIN 7+IE 10
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