gpt4 book ai didi

javascript - 如何正确格式化 JSON

转载 作者:行者123 更新时间:2023-11-29 04:00:50 25 4
gpt4 key购买 nike

我之前问过一个问题,都是围绕着一个JSON格式化的问题。我有一个 PHP 页面,它只是从 MYSQL 数据库中获取行,然后返回它们。但是,我不确定如何格式化它们,所以我得到的所有列都是一组,并且对于每一行,它都会创建一个新的集合。我不确定对此类内容进行编码的常见做法是什么。

例如这就是我想要的(如果它是正确的):

{ "message": [
{
"chat":"Hello, world!",
"time":"2014-05-09 17:32:00",
"username":"Josue"
},
{
"chat":"This is my second message.",
"time":"2014-05-09 17:32:05",
"username":"Josue"
}
]
}

这样,我可以使用 $.parseAJAX 进行解析,并访问我的数据,例如:data.message[0].chat,它会返回“Hello world!”。

这是我目前正在做的事情:

$SQL = sprintf('SELECT time_sent, chat, username FROM Messages where time_sent >= date(\'%s\')', $last_chat_time);
$result = mysql_query($SQL);

$messages = Array();

while ( $row = mysql_fetch_assoc($result) ) {
$messages[] = 'chat';
$messages[] = $row['chat'];
$messages[] = 'time';
$messages[] = $row['time_sent'];
$messages[] = 'username';
$messages[] = $row['username'];
}

$loopCount = count($chats);

if(count($messages) > 0){
/*
$sexyJSON = '{message: [';
for($i = 0; $i < $loopCount; $i++){
$sexyJSON .= '{"chat":"'.$chats[$i].'","time":"'.$times[$i].'","username":"'.$usernames[$i].'"},';
}
$sexyJSON = substr($sexyJSON,0,strlen($sexyJSON)-1);
$sexyJSON .= ']}';
$newMessages = $sexyJSON;
echo $sexyJSON;
*/

echo json_encode($messages);
}

当我简单地编码我的数组时,它会返回如下内容:

["chat","Hello, world!","time","2014-05-09 17:32:00","username","Josue","chat","hmmm","time","2014-05-09 17:48:34","username","asdf"]

如果要将消息、日期与日期、用户名与键值对中的用户名进行群聊,我需要做什么?

最佳答案

mysql_fetch_assoc 的格式应该是

array('chat'=>'Some chat', 'time_sent'=>'123456', 'username'=>'abcdefg')

json_encode 会直接将其转换为

{"chat":"Some chat", "time_sent":"123456", "username":"abcdefg"}

所以在你的循环中,如果你简单地执行 $mesages[] = $row; 并保持你的 json_encode 调用不变,它应该如上所示工作。但是,您可以更改 SQL 语句,为列指定一个别名,以便 time_sent 仅显示为属性 time

关于javascript - 如何正确格式化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com