我使用express.js从服务器接收JSON,该服务器错误地将编码 header 设置为urlencoded。
内容类型:application/x-www-form-urlencoded\r\n
当我尝试解析它时,我收到不同的错误,例如“TypeError:无法将对象转换为原始值”。
如果我使用具有正确 header 的 postman 发送 JSON,则它可以完美地工作。
如何解析这个 JSON?
最佳答案
我不会使用 body-parser。
如果您这样做,它将尝试根据 http header 解码您的正文。
相反,您可以编写自己的中间件,类似于以下内容:
app.use((req, res, next) => {
req.body = JSON.parse(req.read());
next();
})
关于node.js - 当 header 设置错误时从 body 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45987300/