如何在express js中将空白字段更改为null
How to change blank fields to null in express js
如果参数为空,我想将所有请求正文参数设为空。快递js有什么办法吗
{
username: " ",
password: ""
}
// 获取为
{
username: null,
password: null
}
以最简单的方式(如果你想改变原始对象本身)
let obj = {username:'' , password:''}
for(i in obj){
if(obj[i] === '')
obj[i] = null
}
也许您想使用以下功能:
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));
现在,如果您想在您的快递应用程序中使用,那么您可以在您的自定义 middleware
中设置该功能。它看起来像下面的代码:
app.use((req, res, next) => {
if(req.body) {
setEmptyToNull(req.body);
};
next();
});
设置自定义 middleware
后,现在 req.body
中的每个 value
键,如果是 ' '
则将设置为 null
.
希望对您有所帮助
如果参数为空,我想将所有请求正文参数设为空。快递js有什么办法吗
{
username: " ",
password: ""
}
// 获取为
{
username: null,
password: null
}
以最简单的方式(如果你想改变原始对象本身)
let obj = {username:'' , password:''}
for(i in obj){
if(obj[i] === '')
obj[i] = null
}
也许您想使用以下功能:
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));
现在,如果您想在您的快递应用程序中使用,那么您可以在您的自定义 middleware
中设置该功能。它看起来像下面的代码:
app.use((req, res, next) => {
if(req.body) {
setEmptyToNull(req.body);
};
next();
});
设置自定义 middleware
后,现在 req.body
中的每个 value
键,如果是 ' '
则将设置为 null
.
希望对您有所帮助