首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nodejs json_parse在子程序上崩溃

nodejs json_parse在子程序上崩溃
EN

Stack Overflow用户
提问于 2017-04-18 12:44:23
回答 1查看 114关注 0票数 0

我在websocket上监听一些数据,这些数据的格式如下:

代码语言:javascript
运行
复制
'{"mode": "test", "code": "' + editor.getValue() + '", "testTeam": "basic"}'

用户将编写一些代码,然后我们将在沙箱中运行。

当我用data = JSON.parse(message);解析数据时,如果它得到字符*星号,它就会崩溃。

有什么特别的*使它崩溃?我想只删除它们,但这会破坏代码中的用户注释。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-18 13:00:26

而不是这样:

代码语言:javascript
运行
复制
'{"mode": "test", "code": "' + editor.getValue() + '", "testTeam": "basic"}'

用这个:

代码语言:javascript
运行
复制
JSON.stringify({mode: "test", code: editor.getValue(), testTeam: "basic"})

拥有正确的JSON字符串。

可能发生的情况是,editor.getValue()包含引号或换行符,您没有正确地转义它们。

这只是猜测,因为在解析之前,您没有提供message的实际示例,但不应该直接使用字符串连接组合JSON。使用JSON.stringify()将JavaScript对象序列化为JSON。

此外,一定要将JSON.parse()JSON.stringify()放在try/catch中,以避免在糟糕的输入上崩溃,或者使用像tryjson这样的模块为您服务:

JSON.parse()JSON.stringify()都可以引发异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43472553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档