如何读取 JSON 文件、更改一些值并保存它。使用 FS/Javascript [重复]

Posted

技术标签:

【中文标题】如何读取 JSON 文件、更改一些值并保存它。使用 FS/Javascript [重复]【英文标题】:How do I read a JSON file, change some values, and save it. Using FS/Javascript [duplicate] 【发布时间】: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? 【参考方案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

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

【讨论】:

哇,非常感谢。我会一直在寻找年龄。完美运行。

以上是关于如何读取 JSON 文件、更改一些值并保存它。使用 FS/Javascript [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何更新json文件中的值并通过node.js保存

我如何更改.properties文件中的值并在jenkins中使用此命令运行构建

如何在 Python 中使用 BeautifulSoup 保存对 HTML 文件所做的更改?

如何将解析和更改的 DOM 文档保存在 xml 文件中?

更新 QJsonArray 中的值并写回 Qt 中的 Json 文件

Opencv读取图片像素值并保存为txt文件