誰かがフィルタリングのルールを明確にしてくれませんか?
プロパティzが正しく文字列化されていません。最後の行のplsを参照してください。
MDNは、「配列の場合、最終的な文字列のオブジェクトに含まれるプロパティのセットを指定します」と述べています。
var obj = {x:1,y:'str',z:{a:1,b:2}};
var s = JSON.stringify(obj)
"{"x":1,"y":"str","z":{"a":1,"b":2}}"
var s = JSON.stringify(obj,["x","y","z"]);
"{"x":1,"y":"str","z":{}}" //z empty object why?