如何编辑 .JSON 对象的值

how to edit value of the .JSON object

我正在尝试在 .JSON 文件中创建一些简单的统计信息,我想计算发出的每个命令,但我无法在 .[=21 中保存增量值=] 文件.

.JSON

{
   "stats": {
      "value": 0,
      "points": 0,
      "commandUsed": 0
   }
}

代码:

const fs = require('fs');

let statistics = fs.readFileSync(__dirname + '/stats.json', 'utf8');
let stats = JSON.parse(statistics)
console.log(stats)

//stats
let value = stats['stats']['value']
let points = stats['stats']['points']
let usedCommands = stats['stats']['commandUsed']


usedCommands++ 
console.log(usedCommands) //logs actual amount of issued commands
fs.writeFileSync(__dirname + '/stats.json', JSON.stringify(stats, 0, 4), 'utf8')

.JSON 文件中的命令计数没有增加。

我注意到了几件事。你有一些你没有使用的变量,你试图“增加”的是你的 JSON 文件(更新)中的一个字符串。试试这个。

const fs = require("fs");

const statistics = fs.readFileSync(__dirname + "/stats.json", "utf8");
const { stats } = JSON.parse(statistics);

let commandUsed = stats["commandUsed"];
commandUsed++;

const updatedStats = { stats: { ...stats, commandUsed } };

fs.writeFileSync(
  __dirname + "/stats.json",
  JSON.stringify(updatedStats, 0, 4),
  "utf8"
);
{
    "stats": {
        "commandUsed": 0,
        "points": 0,
        "value": 0
    }
}