即使在解码 URL 之后,node.js 中的 JSON 解析错误

Posted

技术标签:

【中文标题】即使在解码 URL 之后,node.js 中的 JSON 解析错误【英文标题】:JSON parse error in node.js even after decoding URL 【发布时间】:2012-06-19 02:21:34 【问题描述】:
data="convID":"E40E92FD4B410","serverDate":"2012/06/15 07:51:07 PM","masterInfo":"instance":"808477149_R_BDD72269D1C1E98A32D8C83EC58CF471","appVersion":"0.97.13.D","depth":4,"jsonURL":"//testtn","scenario":"R","serverDate":"2012/06/15 07:51:07 PM ","deviceName":"M’s","localDate":"2012/5/6 11:14:59 AM PDT"

JSON.parse(data);

给出一个错误。这是由 JSON.generate 在 ruby​​ 脚本中生成并发送到节点 http 服务器,应用 decodeURIComponent 来获取上面打印的数据。仍然 JSON 解析失败并出现此错误:

undefined:1
ate":"2012/06/15
^
SyntaxError: Unexpected token d
at Object.parse (native)

【问题讨论】:

【参考方案1】:

在您的代码示例中,data 是 JS 对象。但是JSON.parse 将字符串作为其参数,而不是对象。所以你的代码必须是:

data='"convID":"E40E92FD4B410","serverDate":"2012/06/15 07:51:07 PM","masterInfo":"instance":"808477149_R_BDD72269D1C1E98A32D8C83EC58CF471","appVersion":"0.97.13.D","depth":4,"jsonURL":"//testtn","scenario":"R","serverDate":"2012/06/15 07:51:07 PM ","deviceName":"M’s","localDate":"2012/5/6 11:14:59 AM PDT"';

JSON.parse(data);

因此,请检查实际代码中data 变量的值和类型。

【讨论】:

好。你应该accept我的回答。

以上是关于即使在解码 URL 之后,node.js 中的 JSON 解析错误的主要内容,如果未能解决你的问题,请参考以下文章

如何解码 Java 生成的 Node.js 中的 jwt 令牌?

如何将二进制缓冲区解码为 node.js 中的图像?

即使在事件循环中没有要执行的回调,Node.js Web 服务器如何保持运行?

使用 javascript (Node.js) 规范化 URL

会话如何在 Express.js 和 Node.js 中工作?

node.js里Response headers里中文乱码怎么解决