は、私は次のコードを持っている:JSON.stringify()リプリケータ関数が機能しないのはなぜですか?
var foo = {
"foundation": "Mozilla",
"model": "box",
"week": 45,
"transport": {
"week": 3
},
"month": 7
};
console.log(JSON.stringify(foo,
function(k, v) {
if (k === "week")
return v;
else
return undefined;
}));
をので、おそらく、私は少なくとも、ネストされていない「週」が戻ってくる必要があると思った、と私は、ネストされたものを作成する方法について説明します戻ってくる。しかし、私がそれをどのように変更しても、はundefined
を出力します。私は単にreturn v
に機能を変更しない限り、オブジェクト全体を戻します。何故ですか?
リパイラへの最初の呼び出しは '' '(空文字列)で送信され、' undefined'を返すので、変換プロセスは事実上停止します。 –
MDN docs:[Replacerパラメータ](https://developer.mozilla.org/en-US/docs/Using_native_JSON#The_replacer_parameter) –
私は最初のパスがなぜなのか疑問に思います...私たちは "それを特別に扱います...もし空のキーを持つ最初のパスとオブジェクトとしての値が行われなければ、最初のパスが必要な場合はいつでも特別な処理を行うことができます。実際には理由はありませんその最初のパスを必要とするのは –