如何使用节点 js 删除 json 文件中的最后一个字符

How to Remove last Character in json file with node js

我正在使用 Nodejs,并且我正在学习有关 fs 模块的更多信息。我一直使用的数据存储文件类型是JSON。

我是 fs 模块的新手,想取出我的 stock.json 的最后一个 } 来输入新数据并将其放回原处,以便稍后在我的完整代码中调用它

这是我正在尝试使用的代码

fs.readFile(filestockname, "UTF8", function(err, data) {
            if (err) { throw err };
            global_data = data;
            var stocknames = item
            console.log("File Read")
            fs.writeFileSync('.//settings/Stock/stock.json', global_data+"\r\n" +'"'+stocknames+'"'+"\r\n"+"{"+"\r\n"+'"'+"instock"+'"'+":"+ "1"+"\r\n"+'"'+"stocklimit"+'"'+":"+ "200"+"\r\n"+"}", (err) => {
            if (err) throw err;
            });
            });
        }

这是我 stock.json

中的代码
}
    "Scrap Metal":{
    "instock":1,
    "stocklimit":200
    }
}

幸运的是,我们不必自己解析和编码原始 JSON 数据,但我们可以使用 JavaScript 的内置 JSON.parse() and JSON.stringify() 方法,这让我们使用标准 JavaScript 数据结构,如对象、数组、字符串等。

fs.readFile(filestockname, "UTF8", (err, data) => {
  if (err) throw err;
  let global_data = JSON.parse(data);
  global_data[item] = {
    instock: 1,
    stocklimit: 200
  };
  console.log("File Read");
  fs.writeFile('.//settings/Stock/stock.json', JSON.stringify(global_data), (err) => {
    if (err) throw err;
    console.log("File Written");
  });
});