我刚开始学习nodejs.我目前正在使用套接字并制作聊天程序.
我想将整个聊天保存到json文件中.目前我的代码是这样的:
socket.on('chat', function (data) {
message = {user : data.message.user, message : data.message.message};
chat_room.sockets.emit('chat', {message: message});
jsonString = JSON.stringify(message);
fs.appendFile("public/chat.json", jsonString, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
});
Run Code Online (Sandbox Code Playgroud)
这目前工作正常,但是文件中写入的json是错误的.
这给了我一个错误的json
{"user":"niraj","message":"hw r u?"}{"user":"ntechi","message":"hello"}{"user":"ntechi","message":"hw r u?"}
触发消息时调用上面的代码.我希望json采用这种格式
{"user":"awd","message":"hw r u?","user":"ntechi","message":"hello","user":"ntechi","message":"hw r u?"}
任何人都可以帮助我吗?提前致谢
Que*_*tin 11
创建第一组错误的JSON是因为每次收到消息时都会向文件追加一段JSON.
第二组JSON也是错误的 - 每个属性名称必须是唯一的.
大概你想要的东西:
[
{"user":"niraj","message":"hw r u?"},
{"user":"ntechi","message":"hello"},
{"user":"ntechi","message":"hw r u?"}
]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您需要使用的逻辑是:
push 消息对象到数组的末尾| 归档时间: |
|
| 查看次数: |
11965 次 |
| 最近记录: |