Javascript 遍历JSON对象

Javascript 遍历JSON对象,javascript,jquery,json,socket.io,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')); }); socket.on('message',函数(数据){ log('从服务器收到消息!',数据); $

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

socket.on('message',function(data) {
          console.log('Received a message from the server!',data);
          $('#data').append('<br />'+data.toString('utf8'));
        });
socket.on('message',函数(数据){
log('从服务器收到消息!',数据);
$('#data').append('
'+data.toString('utf8')); });

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

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

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

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

如果
数据作为JSON字符串返回,则可能需要首先将其作为JSON进行解析。这可以使用
$.parseJSON
方法完成,如下所示:

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

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

您必须首先解析JSON数据:

json = JSON.parse(data);
json.people[0].name;
或者至少使用:

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

您必须首先解析JSON数据:

json = JSON.parse(data);
json.people[0].name;
或者至少使用:

json = eval('(' + data + ')');
你能行

socket.json.send({data:'pepew'})
在服务器端发送json时,它将被socket.io自动解码。如果您想向服务器发送json,只需执行以下操作即可

socket.json.send({data:'boom'});
:D您可以使用相同的api

socket.json.send({data:'pepew'})
在服务器端发送json时,它将被socket.io自动解码。如果您想向服务器发送json,只需执行以下操作即可

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

:D相同的api

显示的内容
console.log(数据)在客户端?
数据。人员[0]。名称
不是“JSON语法”。如果响应是JSON,那么您必须首先将其解析为JavaScript对象在客户端?
数据。人员[0]。名称
不是“JSON语法”。如果响应是JSON,那么您必须首先将其解析为JavaScript对象。我收到来自服务器[object object]的消息。如果使用Jquery,则无需使用eval。Jquery可以使用它的
JSON.parse的实现,也可以使用浏览器的本机实现。哦,是的,我错过了。当然,最好使用jQuery实现。。。eval是邪恶的;)如果使用Jquery,则不需要使用eval。Jquery可以使用它的
JSON.parse的实现,也可以使用浏览器的本机实现。哦,是的,我错过了。当然,最好使用jQuery实现。。。eval是邪恶的;)