如何从json_encode d数组中选择元素?

时间:2011-06-08 17:44:42

标签: arrays object json

我正在使用JSON和javascript从连接到数据库的php文件中检索数据。这就是我的PHP代码的样子:

while($row = $stmt->fetch_assoc()) {
$data[] = $row;
}

header("Content-type: text/plain");
echo json_encode($data,true);

这是我的Javascript:

var displayfeeds = new ajaxObject('ajax/users/display.feeds.php');
displayfeeds.callback = function (responseText,status) {
    var feed = JSON.parse(JSON.stringify(responseText));
    $("#feeds-feedback").html(feed);
}
displayfeeds.update();

当我运行它时,它打印出一个这样的数组:

[
    {
        "userID":"39160902151",
        "content":"bar bar bar bar",
        "published":"2011-06-07 10:33:35"
    },
    {
        "userID":"5896858666",
        "content":"foo foo foo foo foo",
        "published":"2011-06-06 22:54:51"
    }
]

我的问题是:如何显示“userID”和“content”? 我真的很挣扎。我是JSON的新手。

2 个答案:

答案 0 :(得分:1)

您需要将json对象转换为html以显示它们。所以在你的回调函数中我会做这样的事情:

displayfeeds.callback = function (responseText,status) {
    var feed = JSON.parse(JSON.stringify(responseText));
    var html = '';

    // build html for each feed item
    for (var i = 0; i < feed.length; i++) {

        html += '<h3>UserID:: '+ feed[i]['userID'] +'</h3>';
        html += '<p>'+ feed[i]['content'] +'</p>';
        html += '<div><strong>published</strong>: '+ feed[i]['userID'] +'</div>';
        html += '<hr />';
    }
    // append content once all html is built
    $("#feeds-feedback").append(html);
}

答案 1 :(得分:0)

获取第一个用户ID:

var feed = JSON.parse(responseText);
feed[0].userID