使用jQuery处理JSON对象?

Che*_*yne 3 javascript jquery json

我无法处理我从AJAX请求中获取的JSON对象.

它是一个简单的平面JSON对象,我想要做的就是将响应写回页面.

任何人都可以指出如何循环这些对象并输出值?我只是继续写[undefined][object]

代码在这里:

$.ajax({  
          type: "POST",  
          url: "func/chatResponse.php",  
          data: dataString,  
          success: function() {  
            $.getJSON('func/chatResponse.php?a=jsonLatest', function(data) {
                $.each(data, function(index) {
                    //items.push('<li id="' + key + '">' + val + '</li>');
                    $('body').append('<li id="' + data.user + '">' + data.user + '</li>');
                    alert(data);
                 });
            });
            alert("done");
          }  
        });  
Run Code Online (Sandbox Code Playgroud)

这里有JSON示例

[
    {"user":"someguy","message":"my message","timestamp":"2011-04-19 17:26:09"},
    {"user":"Cheyne","message":"Hey There ...  Nice site","timestamp":"2011-04-19 17:26:09"}
]
Run Code Online (Sandbox Code Playgroud)

Dav*_*ang 12

data数组,而你想要数组中项目.

$.each不会更改data为项目,而是将单个项目作为第二个参数传递给您提供的功能:

$.each(data, function (index, item) {
    // Use item in here
    $('body').append('<li id="' + item.user + '">' + item.user + '</li>');
});
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用data[index]:

$.each(data, function (index) {
    // use data[index] in here
    $('body').append('<li id="' + data[index].user + '">' + data[index].user + '</li>');
});
Run Code Online (Sandbox Code Playgroud)

顺便说一句,避免丑陋的字符串连接:

$('<li>', {id: item.user, text: item.user}).appendTo('body');
Run Code Online (Sandbox Code Playgroud)