如何使用node.js将string添加到JSON中的数组?

我有一个不和谐的机器人,我想有一个数组,有滥用音量和音乐命令的用户ID,这样我就可以拿走他们的能力,并使用!nomusic!musicback等命令给他们,但我有不知道如何让它添加或删除configuration文件中的数组的ids 。 我最好的猜测是使用fs ,并将其成员的id推入数组,但我不知道如何去做这个(我对node.js非常新,特别是fs ,所以很抱歉,如果这是一个真的很容易做的事情,真的很愚蠢的问)

到目前为止,这是我得到了多less(很多程序不包括在内,所以它更容易阅读)

 function readNoMusicJSON() { return JSON.parse(fs.readFileSync("./nomusic.json")); } var badmusicusers = readNoMusicJSON(); function nomusicsfoyou(badmusicusers, userId) { return nomusic.concat([userId]); } function saveNoMusicFile(badmusicusers) { fs.writeFileSync("./nomusic.json"); } bot.on('message', async message => { //some code ommited due to lack of importance var args = message.content.slice(config.prefix.length).trim().split(/ +/g); var command = args.shift().toLowerCase(); switch(command){ case"music": if(badmusicusers.find(id=>id == message.author.id)) return; // more ommitted code that don't matter break; case "nomusic": let sadmusicboi = message.mentions.members.first(); badmusicusers = nomusicsfoyou((badmusicusers, sadmusicboi.id)); saveNoMusicFile(badmusicusers); break; } }) 

假设你的configurationbannedUsers.json文件中有一个禁止用户列表。

 ["user-id-1", "user-id-2"] 

在程序启动时,您将文件读入一个variables:

 function readBannedUsers() { return JSON.parse(fs.readFileSync("./bannedUsers.json")); } var bannedUsers = readBannedUser(); 

每当你想禁止一个用户:

 function banUser(bannedUsers, userId) { return bannedUsers.concat([userId]); } function saveBannedUsers(bannedUsers) { fs.writeFileSync("./bannedUsers.json"); } bannedUsers = banUser(bannedUsers, "user-3"); saveBannedUsers(bannedUsers); 

就这样。