Usando un revisor JSON.parse para ofuscar campos
Estoy intentando abusar de una función de revivimiento con JSON.parse.
Básicamente quiero hacer ciertos campos "nulos".
Si hago esto:
var json_data = JSON.parse(j, function(key, value) {
if (key == "name") {
return value;
} else {
return null;
}
});
Todo el objeto json_data termina en nulo. De hecho, no importa lo que haga la otra cosa, eso define el valor de json_object.
Curiosamente, esto funciona como se esperaba:
var json_data = JSON.parse(j, function(key, value) {
if (key == "name") {
return "name";
} else {
return value;
}
});
La propiedad "nombre" ahora tiene un valor de "nombre".
JSON en cuestión:
var j = '{"uuid":"62cfb2ec-9e43-11e1-abf2-70cd60fffe0e","count":1,"name":"Marvin","date":"2012-05-13T14:06:45+10:00"}';
Actualizar
Acabo de darme cuenta de que lo inverso de lo que quiero hacer funciona también, así que puedo anular el campo de nombre:
var json_data = JSON.parse(j, function(key, value) {
if (key == "name") {
return null;
} else {
return value;
}
});