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

时间:2017-10-25 04:11:28

标签: json node.js fs

我正在使用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
    }
}

1 个答案:

答案 0 :(得分:1)

幸运的是,对我们来说,我们不必解析&我们自己编码原始JSON数据,但我们可以使用JavaScript的内置JSON.parse()JSON.stringify()方法,这样我们就可以使用标准的JavaScript数据结构,如Object,Array,String和等等。

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");
  });
});