【发布时间】:2014-04-11 07:10:29
【问题描述】:
我正在通过 RabbitMQ 传递 JSON.stringify 消息。看来,当它通过 rabbit 时,它不再是 JSON.parse 可以读取的东西了。
sendNodeCreated(JSON.stringify({UID:"sdflkjh45", NAME:"Node 71", X:45, Y:54}));
在另一端,我收到一个字符串:
{"UID":"sdflkjh45","NAME":"Node 71","X":45,"Y":54}
当我在这个字符串上调用 JSON.parse 时,我得到了
SyntaxError: Unexpected token s
at Object.parse (native)
任何帮助将不胜感激。这条消息在我正在运行的 python 应用程序中解析得很好,并且 JSONlint 说它是有效的。
【问题讨论】:
-
您确定要将字符串传递给另一端的
JSON.parse吗?您提供的信息不足以解决问题。 -
你怎么打电话给
JSON.parse()?例如,它是用来自 jQuery 的 AJAX 调用的数据调用的吗?因为 jQuery 和其他框架已经根据您调用 AJAX 函数的方式为您解析数据。 -
var obj = JSON.parse(msg.content.toString())当我console.log(msg.content.toString())我得到:{"UID":"sdflkjh45","NAME":"Node 71","X":45,"Y":54}消息内容在 python 中使用 simplejson 解析得很好。该应用程序在 node.js 中使用 amqplib