如何用jquery解析这个json?

时间:2012-07-03 21:01:02

标签: jquery json

我正在尝试使用socket.io创建我的第一个node.js程序,我想存储聊天记录,然后当用户加入时将聊天记录推送到他的浏览器。我有聊天保存和推送,发送的json看起来像这样:

[
    [
        {
            "username": "Warren2",
            "text": "Test"
        },
        {
            "username": "Warren2",
            "text": "Test2"
        },
        {
            "username": "Warren2",
            "text": "Test3"
        }
    ]
]

在我的html页面上,我有一个具有此功能的javascript

socket.on('updatehistory', function(data) {

}

当推送updatehistory消息时,我将在其中执行的代码将被执行。我是一个n00b而且很丢失哈哈。这就是我试过的:

socket.on('updatehistory', function (data) {
   $.each(json.results, function(username,text){
      $('#conversation').append('<b>'+ username + ':</b> ' + text + '<br>');
  });
});

这是来自node.js

的updatehistory事件的确切调试消息
debug - websocket writing 5:::{"name":"updatehistory","args":[[{"username":"W
arren2","text":"Test"},{"username":"Warren2","text":"Test2"},{"username":"Warren
2","text":"Test3"}]]}

有人可以帮我弄清楚如何解析(最好用jquery)。 谢谢:D

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果你想自己完成所有这一切,并且它只是一个5行代码,我会给你一个遍历你的数据的方法。这是第一个。我已经提醒用户名和密码,告诉你它确实有效在样本中。

http://jsfiddle.net/shivkumarganesh/gfff5/

 $(document).ready(function(){
        var k=[
    [
        {
            "username": "Warren1",
            "text": "Test"
        },
        {
            "username": "Warren2",
            "text": "Test2"
        },
        {
            "username": "Warren3",
            "text": "Test3"
        }
    ]
];

for(i in k)
    {
    var l=k[i];
     for (j in l)
    {
        alert("Username:"+l[j].username+" --  Message:"+l[j].text);
    }
    }​
    });

JSON.parse()$.parseJson都没有工作。所以我认为这是最佳解决方案。