【问题标题】:How do I read a JSON file, change some values, and save it. Using FS/Javascript [duplicate]如何读取 JSON 文件、更改一些值并保存它。使用 FS/Javascript [重复]
【发布时间】:2021-07-27 21:52:53
【问题描述】:

我当前的代码如下。

bot.on('message', mssg => {
    io.emit('chat message', `${mssg.author.tag} - ${mssg.content}`);
    
    var message = mssg.content.toLowerCase()
    if(shydudearray.includes(message)) {
        var newMsg = message.replace(" ", "");
        fs.readFile('./assets/data/shydude.json', (err, data) => {
            if (err) throw err;
            let counter = JSON.parse(data);
            
            x = counter[newMsg];
            data[newMsg] = '2';
            
            console.log(`Before: ${x}\nAfter: ${counter[newMsg]}`)
        });
    }
});

我想获取我的 JSON 文件并获取当前号码,然后对当前号码 +1,并将其保存到 JSON 文件中。使用 FS/Javascript,我怎样才能让它工作?

【问题讨论】:

  • 您是否看到任何错误?当前代码有什么问题?
  • 没有错误。我当前的代码有什么问题是它没有保存到我的 JSON 文件中。/assets/data/shydude.json。
  • 您必须将数据转换回 JSON 并将其写入磁盘。
  • 我有点困惑。更改 JS 中的变量不会影响文件。你期待吗?
  • 所以也许使用 stringify?

标签: javascript json discord.js fs


【解决方案1】:

这里

const fs = require('fs');
const filepath = './myJSONfile.json';
const data = JSON.parse(fs.readFileSync(filepath));
data[someKey] = "newValue";
fs.writeFileSync(filepath, JSON.stringify(data, null, 4));

PS:这是一个 NodeJS 的问题,而不是 JavaScript

从提问者编辑:修正变量错误

【讨论】:

  • 哇,非常感谢。我会一直在寻找年龄。完美运行。
猜你喜欢
  • 1970-01-01
  • 2019-07-31
  • 2019-03-11
  • 2018-10-27
  • 2020-10-20
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 2021-08-22
相关资源
最近更新 更多