【发布时间】:2013-09-08 00:53:03
【问题描述】:
我在服务器端(使用 node.js)传递了有效的 JSON,但无法在客户端(使用 jQuery)进行解析。 jQuery.parseJSON 返回null。任何帮助将不胜感激。
服务器端-
var message = [{key:"1", count:1},{key:"2", count:2}];
client.publish('update', JSON.stringify(message));
客户端-
socket.on("update", function(data) {
var obj = jQuery.parseJSON(data);
alert (obj); // returns null
// do something
}
【问题讨论】:
-
您能检查一下收到的
data是什么吗? -
@FabrícioMatté 感谢您编辑我的问题。警报(数据)返回对象。
-
好吧,
JSON.parse需要一个字符串,所以问题就来了。如果您使用的是 Chrome(或带有 Firebug 的 Firefox),请使用console.log(data)而不是alert,然后按 F12 检查对象属性。您的 JSON 字符串位于data对象的属性内,或者data已经是已解析的对象。 -
没错!我尝试了@JonathanLonowski 建议的技术。在下面的线程中查看我的回复。有什么想法吗?
-
问题解决了! socket.io 发出一个键值对(不是键值对数组)。我改变了我的暗示,它现在可以工作了!谢谢。