Помогите с записью 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)
});
→ Ссылка