Ich beobachte MDN's "Using native JSON". Und ich habe 3 Fragen über die JSON.stringify
Methode.Fragen über JSON.stringify in ECMAScript
Frage 1:
var foo = {
"foundation": "Mozilla",
"model": "box",
"week": 45,
"transport": "car",
"month": 7
},
censor = function (key, value) {
if (typeof value === 'string') {
return;
}
return value;
};
console.log(JSON.stringify(foo, censor)); // String: {"week":45,"month":7}
Codes über gut funktionieren. Aber warum können die folgenden Codes nicht funktionieren?
var foo = {
"foundation": "Mozilla",
"model": "box",
"week": 45,
"transport": "car",
"month": 7
},
censor = function (key, value) {
if (typeof value !== 'string') {
return;
}
return value;
};
console.log(JSON.stringify(foo, censor)); // undefined
Frage 2:
Bitte beachten Codes unter:
var foo = {
"foundation": "Mozilla",
"model": "box",
"week": 45,
"transport": "car",
"month": 7
},
censor = function (key, value) {
return 2;
};
console.log(JSON.stringify(foo, censor)); // String: 2
Ich glaube, meine Codes sollten Zeichenfolge unten bekommen, weil „Wenn Sie eine Zahl zurückgeben, die Zeichenfolge zu dieser Zahl entspricht wird als Wert für die Eigenschaft verwendet, wenn sie der JSON-Zeichenfolge hinzugefügt wird. " (zitiert aus https://developer.mozilla.org/En/Using_native_JSON).
{"foundation":2,"model":2,"week":2,"transport":2,"month":2}
Aber ich bekomme nur eine Zeichenfolge 2
. Warum?
Frage 3:
Wenn ich will {"foundation":2,"model":2,"week":2,"transport":2,"month":2}
bekommen, wie soll ich die Codes ändern?
Vielen Dank!