输出php json数据

时间:2012-02-10 00:11:18

标签: json

当我从数据库中收到旧邮件时,我遇到了一个小问题。我不能使用通常的console.log(data.message);来使用这些信息,因为这是未定义的,但是当我使用console.log(data);

[{"message":"Hello","time":{"sec":1328831312,"usec":699000},"user":"4f326ef17edae18d11000000"},{"message":"Heyyy","time":{"sec":1328831324,"usec":48000},"user":"4f33a3db7edae17736000000"},{"message":"afasfasd","time":{"sec":1328831966,"usec":960000},"user":"4f33a3db7edae17736000000"},{"message":"asdfasdfasdf","time":{"sec":1328831968,"usec":283000},"user":"4f33a3db7edae17736000000"},{"message":"old message","time":{"sec":1328831969,"usec":234000},"user":"4f33a3db7edae17736000000"}]

我在我的数据库中搜索两个用户之间的消息,然后循环遍历这样的数据

$messages = array();
for($i=0; $i<count($cursor['messages']); $i++){
    $object = array('message'=>$cursor['messages'][$i]['message'],
                    'time'=>$cursor['messages'][$i]['time'],
                    'user'=>$cursor['messages'][$i]['user']);

    $messages[] = $object;
}
echo json_encode($messages)

我希望能够获取消息发送的用户ID,消息和时间,以便我可以将每个消息附加到聊天记录中,但我可以坚持输出信息。

1 个答案:

答案 0 :(得分:2)

看起来您的回复包含在数组[]中。

假设您的粘贴具有代表性,您应该能够获得所需的数据

data[i].message

data[i].time.sec

在你的JS中,你需要循环到data.length来检索每条消息。

编辑:看起来你收到后没有解析字符串。请尝试以下

var parsedData;
if(JSON && JSON.parse) {
    parsedData = JSON.parse(data);
}
else {
    parsedData = eval(data); 
}

alert(parsedData[0].message);