Помогите с записью JSON файла
Я занимаюсь разработкой бота на discord.js, я пытаюсь дополнить файл json, но у меня не выходит
Мой код:
text = {[message.author.id]:{"text":[args.slice(1).join(' ');]}}
fs.appendFile(pathClan, JSON.stringify(text, null, 4), err => {
if(err) console.log(err)
});
Что выходит в JSON файле
{
"айди пользователя #1": {
"text": "текст пользователя #1"
}
}{
"айди пользователя #2": {
"text": "текст пользователя #2"
}
}
А как получить
{
"айди пользователя #1": {
"text": "текст пользователя #1"
},
"айди пользователя #2": {
"text": "текст пользователя #2"
}
}
Ответы (1 шт):
Автор решения: cassius
→ Ссылка
Вы производите добавление на уровне файла, а не на уровне объекта-json. Вам нужно считать объект из исходного файла, добавить туда новые данные и выгрузить обновленный объект в файл.
const fs = require('fs');
const pathClan = "file.json";
let rawdata = fs.readFileSync(pathClan);
let users = JSON.parse(rawdata);
let user = {"айди пользователя #2": {
"text": "текст пользователя #2"
}};
users = {...users, ...user};
fs.writeFile(pathClan, JSON.stringify(users, null, 4), err => {
if(err) console.log(err)
});