我有这个config.json
文件:
{
"account_name": {
"min_len": "3",
"max_len": "15",
"upperCase": true,
"lowerCase": true,
"numbers": true,
"specialChar": false,
"capitalize": false,
"duplication": false,
"startWithCapital": false
},
"password": {
"min_len": "6",
"max_len": "20",
"upperCase": true,
"lowerCase": true,
"numbers": true,
"specialChar": true,
"capitalize": false,
"duplication": false,
"StartWithCapital": false
}
}
如何从代码中为此.json文件添加其他值? 为了exapmle:
var keysOpt = require('../config/config.json');
KeysOpt.name = "eric"
KeyPot.save() // will save the new field to the file itself
答案 0 :(得分:3)
您只需使用fs.writeFile() method将JSON写回文件。
这就是你的代码:
var keysOpt = require('../config/config.json');
keysOpt = JSON.parse(keysOpt);
KeysOpt.name = "eric";
// Make whatever changes you want to the parsed data
fs.writeFile('../config/config.json', JSON.stringify(keysOpt));
<强>解释强>
你只需要:
object
。writeFile()
方法将其写回JSON文件。注意:强>
writeFileSyn()
来同步写入
数据到文件。writeFile()
回调完成写作,如果你试图写多次
同一个文件。您可以查看fs.writeFile()
方法的nodeJS文档,其中包含:
请注意,同时使用
fs.writeFile
多次是不安全的 文件无需等待callback
。对于这种情况, 强烈建议使用fs.createWriteStream
。
答案 1 :(得分:0)
你可以做这样简单的事情:
var fs = require('fs');
var keysOpt = JSON.parse(fs.readFileSync('../config/config.json'));
KeysOpt.name = "eric";
fs.writeFileSync('../config/config.json',JSON.stringify(KeysOpt,null,' '));