Может быть, вы хотите использовать эту функцию ниже:
let objects = {
username: ' ',
password: '',
testing: [
{
id: ' ',
testing: 'testing'
}
],
obj: {
key: ' ',
value: 'value'
}
}
function setEmptyToNull(obj) {
Object.keys(obj).forEach(key => {
if (Array.isArray(obj[key])) {
obj[key].map(o => {
if (typeof o === 'object') {
setEmptyToNull(o);
}
})
} else if(typeof obj[key] ==='string') {
if(obj[key].trim() === '') {
obj[key] = null;
}
} else if(typeof obj[key] === 'object') {
setEmptyToNull(obj[key]);
}
});
return obj;
}
console.log(setEmptyToNull(objects));
Теперь, , если вы хотите использовать в своем express приложении , тогда вы можете установить эту функцию в своем пользовательском middleware
. Это будет выглядеть следующим образом:
app.use((req, res, next) => {
if(req.body) {
setEmptyToNull(req.body);
};
next();
});
После того, как вы установили свой пользовательский middleware
, теперь каждый value
ключа в вашем req.body
, если он ' '
, будет установлен на null
.
Надеюсь, это поможет вам.