如何在JSON文件中的数组中写入JavaScript对象?我的意思是:我在制造不和(消息应用程序)BOT,当用户使用命令“/add”时,BOT将要求2个输入,一个“name”和一个“artist”,这两个输入组成了一首歌,所以我为这首歌创建了一个名为“data”的对象。我还有一个JSON文件,即我的数据库,我想要的是,每次使用此命令时,我的对象都应被推入JSON文件中的数组中,所以稍后我可以在这个数组中检索一个随机对象。我该怎么做呢?我希望这个问题不会太混乱,谢谢!
module.exports={
data: new SlashCommandBuilder()
.setName('add')
.setDescription('Add a song to the database.')
.addStringOption(option =>
option.setName('artist')
.setDescription('The artist of the song')
.setRequired(true))
.addStringOption(option =>
option.setName('name')
.setDescription('The name of the song')
.setRequired(true)),
async execute(interaction){
let name = interaction.options.getString('name');
let artist = interaction.options.getString('artist');
const data = { name: name, artist: artist};
await interaction.reply(`**` + artist + `**` + ` - ` + `**` + name + `**` + ` was added to the database.`)},
};
//WHAT YOU SEE FROM NOW ON IS A DIFFERENT FILE, A JSON FILE CALLED data.json with some examples of what it should look like
[
{
"name":"Die for You",
"artist":"The Weeknd"
},
{
"name":"FEAR",
"artist":"Kendrick Lamar"
}
]
2条答案
按热度按时间jmo0nnb31#
您必须使用节点文件系统。
导入FS并使用writeFile函数。
https://nodejs.org/api/fs.html#filehandlewritefiledata-options
//编辑(将新对象加入至.json)
你必须从你的文件中读取数据,添加一些东西,然后再次保存。
wdebmtf22#
如果你想在数组中添加一些东西,你可以在那里
.push
。