Verwenden eines JSON.parse-Revivers zum Verschleiern von Feldern
Ich versuche, eine Reviver-Funktion mit JSON.parse zu missbrauchen.
Ich möchte grundsätzlich bestimmte Felder "null" machen.
Wenn ich das mache:
var json_data = JSON.parse(j, function(key, value) {
if (key == "name") {
return value;
} else {
return null;
}
});
Das gesamte json_data-Objekt endet mit null. Egal was ich sonst mache, das definiert den Wert des json_object.
Interessanterweise funktioniert dies wie erwartet:
var json_data = JSON.parse(j, function(key, value) {
if (key == "name") {
return "name";
} else {
return value;
}
});
Die Eigenschaft "name" hat jetzt den Wert "name".
JSON in Frage:
var j = '{"uuid":"62cfb2ec-9e43-11e1-abf2-70cd60fffe0e","count":1,"name":"Marvin","date":"2012-05-13T14:06:45+10:00"}';
Aktualisieren
Ich habe gerade festgestellt, dass das Gegenteil von dem, was ich tun möchte, auch funktioniert, sodass ich das Namensfeld aufheben kann:
var json_data = JSON.parse(j, function(key, value) {
if (key == "name") {
return null;
} else {
return value;
}
});