fs.append到一个已经存在的带有JSON的行中



下面的代码片段是我的JSON文件/数据库,其中包含用户名和银行余额。

我遇到的问题是,当脚本使用";fs.writeFileSync";它用新数据重写已经存在的数据。这意味着我必须让它复制所有现有数据,并将其粘贴到新数据中。

我也尝试过使用";fs.appendFileSync";但这只是添加了新数据,并没有按预期合并任何数据。

我的目标是让脚本导航到";银行";值,并将新的银行价值与旧的银行价值合并;名字";以及";姓氏";未受影响的

JSON-

{
"User": {
"user1": {
"FirstName": "firstname",
"LastName": "lastname",
"Bank": 20000
}
}
}
//javascript
let newBalance = 100
let jsonInfo = { 
User : {
User : {
"Bank" : newBalance
}
}
};

let jsonData = JSON.stringify(jsonInfo, null, 2);
fs.writeFileSync('server/userdata.json', jsonData);

使用我们从";newBalance";以及";jsonInfo";,新的";银行;json文件中的值应该是";100〃;以及";名字";以及";姓氏";应该仍然是";名字";以及";姓氏";

如有任何帮助,我们将不胜感激!

因为writeFileSync将数据带入并保存到路径中,所以需要在路径上写入原始数据。在json格式中,newBalance可以像下面这样使用。

//javascript
let newBalance = 100
let user = {
"User": {
"user1": {
"FirstName": "firstname",
"LastName": "lastname",
"Bank": newBalance
}
}
}
let jsonData = JSON.stringify(user, null, 2);
fs.writeFileSync('server/userdata.json', jsonData);

最新更新