Запись в файл JSON

#javascript #node.js #json

#javascript #node.js #json

Вопрос:

Итак, я хочу сохранить имена пользователей и оценки пользователей в файле JSON, в настоящее время у меня есть файл JSON, выглядящий следующим образом, который я вручную написал для тестирования, и он выглядит следующим образом:

 [
    {
        "username": "Testing",
        "score": 2
    },
    {
        "username": "Testing123",
        "score": 3
    }
]
 

Теперь я могу читать из этого файла и получать запрошенную оценку пользователя с помощью этого:

 for (const player of players) {
        if (player.username == message.author.tag) {
            message.reply(`Points: - **${player.score}** - `);
        }
    }
 

Теперь я хочу записать в этот файл JSON (когда новый пользователь регистрируется со счетом), как я сделал это вручную для тестирования, но я просто не могу понять, как это сделать, даже с поиском в Интернете в течение нескольких часов.

Ответ №1:

Для записи данных на диск необходимо использовать файл FS.WriteFile.

 const FS = require('fs')

// you can't write an object, so first you need to serialize the object
// here, I serialize it as JSON
let data = JSON.stringify(MY_JSON)

// this example uses the sync version for simplicity; FS.writeFile is async
FS.writeFileSync( path, data, 'utf8' )

 

Комментарии:

1. Я также являюсь автором пакета eztxt4fs для npm, который я создал для облегчения использования файлов JSON для хранения.