我有一个从客户端解析数据的奇怪问题。
我发现所有的 'boolean true' 都被转换为 'string true 并且对于 'undefined' 是一样的,因此我不能在这些字段上做一个 'if'。
这是我所拥有的:
var bodyParser = require('body-parser');
var app = express();
app.post('/someroute',function(req,res,next){
console.log(typeof req.someBooleanValue);
});
我总是得到“字符串”,我期待控制台中的布尔值,因为那是客户端发送的。
现在,如果内容类型设置为“应用程序/json”,它可以正常工作
我知道正文解析器不适用于“多部分”内容类型。但那我有什么选择呢?我尝试了多方和多方。但是使用它们进行解析后,我仍然将字段作为字符串。
除了编写一个检查内容类型的小实用程序,然后使用 JSON.parse('fields') 或类似的东西做一些丑陋的引号剥离之外,没有其他方法可以处理这个问题吗?