首页 > 解决方案 > 如何使用 Node.JS/Javascript 在 JSON 文件中编辑奇异值

问题描述

我正在使用 discord.js 制作一个不和谐机器人,并且我有一个系统,我可以通过将 JSON 文件中的值从 true 更改为 false 来关闭和打开,反之亦然。我创建了一个命令,允许不和谐的版主打开和关闭该系统。这就是我的问题所在。在那个 JSON 文件中,我有 2 个值。

一个是包含不同字符串的数组,系统将使用这些字符串随机选择将消息发送回 Discord

第二个值只是一个调用的布尔值timedStatus,它设置为 true 或 false 以打开和关闭系统。我想知道如何在不影响数组的情况下更改值。我以前做过类似的事情,但我不记得该怎么做。

这是我的命令代码。

if (cmd === prefix + "timedreplies") {
        if (timedReplies.replystatus = true) {
            console.log("Timed replies set to off");
            // Set to off
        } else {
            console.log("Timed replies set to on");
            // set to on
        }
    }

标签: javascriptnode.jsdiscord.js

解决方案


直接改值就好了!

东西.json

{
  arr: ['str1', 'str2', 'str3'],
  timedStatus: false
}

如您所见,这是 JSON 文件(虽然我不知道它到底长什么样)

在这里,我们将使用fs模块(无需安装)来读取和写入文件。

const fs = require('fs')
const file = fs.readFileSync('./something.json', 'utf8');
const data = JSON.parse(file)
data.timedStatus = true
fs.writeFileSync('./something.json', JSON.stringify(data))

推荐阅读