尝试解析JSON而不会崩溃Node.js服务器

Rya*_*yan 6 parsing json try-catch node.js

我正在使用支持的Node.js开发一个项目,我也使用JSON通过Web套接字向客户端传输数据.我遇到的问题是,如果一个无效的字符串被发送到服务器(很容易被用户弄乱JavaScript控制台),那么它会在尝试解析时崩溃服务器.

我现有的防止这种情况发生的方法是使用try/catch语句.

我的问题是,是否有更合适的方法来检查字符串是否可解析?使用try/catch语句是好的做法还是仅用于调试?

谢谢.

Mar*_*rco 10

上面的答案很好.但是你也应该在node.js中为未捕获的异常设置一个监听器.这样您就可以记录异常,服务器将继续运行.

http://nodejs.org/api/process.html#process_event_uncaughtexception


Tob*_*ede 4

使用 try/catch 对于在许多环境中创建健壮的代码至关重要 - 对于优雅地处理错误情况非常重要。

但是,每当您接受来自外部源的数据时,您都必须对其进行验证,以确保您没有打开攻击媒介。

该节点模块有几个 JSON 元素,包括 JSON Schema,这可能会有所帮助: https: //github.com/kriszyp/json-schema