遍历JSON对象

时间:2011-09-19 13:14:44

标签: javascript jquery json socket.io

我在HTML文件中有以下代码:

socket.on('message',function(data) {
          console.log('Received a message from the server!',data);
          $('#data').append('<br />'+data.toString('utf8'));
        });

某些点的服务器发送一个字符串或向客户端发送一个JSON对象但是当我尝试使用JSON语法来访问数据时,例如/ $('#data').append(data.people[0].name])它会抛出一个错误,说人们未定义。我知道发送的数据是有效的。如何让我的函数了解它处理JSON?

3 个答案:

答案 0 :(得分:2)

你可以做到

socket.json.send({data:'pepew'})

在服务器端发送json,它将自动由socket.io解码。如果你想将json发送到服务器,你可以简单地执行

socket.json.send({data:'boom'});

:D api

答案 1 :(得分:1)

如果您的data作为JSON字符串返回,那么您可能需要先将其解析为JSON。这可以使用$.parseJSON方法完成,如下所示:

socket.on('message',function(data) {
    var myData = $.parseJSON(data);
    // the remainder of your code
});

您可以在JQuery documentation中找到有关$.parseJSON的更多信息。另外值得注意的是,如果运行代码的浏览器具有JSON.parse的本机实现,$.parseJSON方法将使用它。

答案 2 :(得分:0)

您必须首先解析JSON数据:

json = JSON.parse(data);
json.people[0].name;

或至少使用:

json = eval('(' + data + ')');