如何更新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));