写入 JSON 文件
Writing a JSON file
所以我正在写一个 json 文件,当我将 2 个用户写入一个文件时,用户 B 替换了用户 A
应该是:
{
"user": {
"user": "user1",
"id": "id"
},
"user": {
"user": "user2",
"id": "id2"
}
}
但它只是将 user1 替换为 user2。
代码:
if(command === "add"){
let mentionedUser = message.mentions.users.first()
var user = mentionedUser.username
var jsonData = {
users:{
user: user,
id: mentionedUser.id
}
}
fs.writeFileSync("./config.json", JSON.stringify(jsonData, null, 4), err => {
if(err) throw err;
message.channel.send("ID Pushed")
})
fs.writeFileSync的默认模式是覆盖整个文件。您可以使用 appendFileSync or you set an option in fileWriteSync 附加新文本:
fs.writeFileSync('config.json', JSON.stringify(jsonData, null, 4), {flag: 'a'}, err => {...});
fs.appendFileSync('config.json', JSON.stringify(jsonData, null, 4), err => {...});
您也可以使用 appendFile or fileWrite. There is also a nice Whosebug Question 异步执行此操作。
编辑:
您也可以导入文件。然后您可以创建对象并将其附加到数据结构。最后你可以将结果写回文件。
所以我正在写一个 json 文件,当我将 2 个用户写入一个文件时,用户 B 替换了用户 A 应该是:
{
"user": {
"user": "user1",
"id": "id"
},
"user": {
"user": "user2",
"id": "id2"
}
}
但它只是将 user1 替换为 user2。
代码:
if(command === "add"){
let mentionedUser = message.mentions.users.first()
var user = mentionedUser.username
var jsonData = {
users:{
user: user,
id: mentionedUser.id
}
}
fs.writeFileSync("./config.json", JSON.stringify(jsonData, null, 4), err => {
if(err) throw err;
message.channel.send("ID Pushed")
})
fs.writeFileSync的默认模式是覆盖整个文件。您可以使用 appendFileSync or you set an option in fileWriteSync 附加新文本:
fs.writeFileSync('config.json', JSON.stringify(jsonData, null, 4), {flag: 'a'}, err => {...});
fs.appendFileSync('config.json', JSON.stringify(jsonData, null, 4), err => {...});
您也可以使用 appendFile or fileWrite. There is also a nice Whosebug Question 异步执行此操作。
编辑:
您也可以导入文件。然后您可以创建对象并将其附加到数据结构。最后你可以将结果写回文件。