【发布时间】:2015-06-30 03:12:12
【问题描述】:
使用节点/快递 -
我想从请求标头中获取一些 JSON,但我想安全地做到这一点。
如果由于某种原因它不是有效的 JSON,那很好,它可以返回 false 或其他什么,它只会拒绝请求并继续。问题是如果它不是有效的 JSON,它会引发语法错误。通常我希望出现语法错误,但在这种情况下不会。
var boom = JSON.parse(req.headers.myHeader);
我是否从该特定模块刮取堆栈并检查是否存在错误的解析调用,如果是这种情况,它会忽略它吗?这似乎有点疯狂。肯定有更好的方法。
编辑: 我知道 try/catch 块是处理此错误的 A 方式,但它是节点应用程序中的最佳方式吗?这种方式会阻塞节点吗?
【问题讨论】:
-
我的编辑是否清除或确认它是重复的?
-
try catch 块是同步的,并且有可能锁定节点......这似乎不是问题,但我不确定。
-
我认为这里的问题是它不会引发正确的错误。因此为什么你会看到这样的例子:_.attempt(JSON.parse.bind(null, str));
标签: javascript json node.js express