即使在解码 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 解析错误的主要内容,如果未能解决你的问题,请参考以下文章