在Express中捕获非法JSON POST数据?

nai*_*per 13 node.js express

使用有效的JSON创建POST请求时,bodyParser会正确解析POST请求的正文.但是,如果我提交无效的JSON字符串作为正文,我收到错误:

SyntaxError: Unexpected token ILLEGAL
at parse (native)
at IncomingMessage.<anonymous>(/home/.../middleware/bodyParser.js:69:15)
...
Run Code Online (Sandbox Code Playgroud)

因此,在解析身体时,身体解析器似乎失败了.但是,我想抓住这个失败并返回错误.我不确定我能做些什么才能抓住它,所以任何帮助都会受到赞赏.谢谢.

Pet*_*ons 2

这是在connect.js bodyParser 中间件中。它确实执行了 try/catch,然后调用 next(err)。您应该能够捕获此错误并使用app.error()回调挂钩使用其他自定义代码进行处理。 http://expressjs.com/guide.html#error-handling