如何更新json文件中的值并通过node.js保存

如何更新json文件中的值并通过node.js保存? 我有文件内容:

var file_content = fs.readFileSync(filename); var content = JSON.parse(file_content); var val1 = content.val1; 

现在我想改变val1的值并保存到文件中。

这样做是非常容易的。 如果你关心阻塞线程(可能),这是特别有用的。

 var fs = require('fs'); var fileName = './file.json'; var file = require(fileName); file.key = "new value"; fs.writeFile(fileName, JSON.stringify(file), function (err) { if (err) return console.log(err); console.log(JSON.stringify(file)); console.log('writing to ' + fileName); }); 

需要注意的是,json是在一行中写入到文件中的,并且没有被批准。 例如:

 { "key": "value" } 

将会…

 {"key": "value"} 

为了避免这种情况,只需将这两个额外的参数添加到JSON.stringify

 JSON.stringify(file, null, 2) 

null – 表示replace函数。 (在这种情况下,我们不想改变这个过程)

2 – 表示要缩进的空格。

 //change the value in the in-memory object content.val1 = 42; //Serialize as JSON and Write it to a file fs.writeFileSync(filename, JSON.stringify(content));