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;    
  }    
});

Antworten auf die Frage(2)

Ihre Antwort auf die Frage