为了澄清标题,我想将 var 1: var 2 作为键值对传递。但是,每当我这样做时:
fileobject.add = {var 1: var 2}
其中fileobject是数组的名称,使用“:”会自动将文件名更改为文本。
我的其余代码:
var FileHasher = require("./FileHasher");
if (process.argv.length < 3) {
console.log("Program file and one argument are required for this program.");
process.exit(1);
}
var filename = process.argv[2];
var fs = require('fs');
var data = fs.readFileSync("../sha1.json", "UTF-8"); // read sha1.json contents
var fileobject = JSON.parse(data); // create JS object from file
var file = fs.readFileSync(filename, "UTF-8"); // read file contents
console.log(data); // print all current key-value pairs
fs.createWriteStream("../sha1.json");
var filesha1 = FileHasher(file);
console.log(filesha1);
fileobject.push = (filename: filesha1);
console.log(fileobject);
fs.writeFile("../sha1.json", JSON.stringify(fileobject), function(err) {
if (err) {
return console.log(err);
}
console.log("data saved");
});
为了澄清,FileHasher 接受给定的任何输入并返回 sha1。
我遇到的另一个问题是将更新的信息发布到 sha1.json;我当前的代码只是将我从中获取的相同数据发布回其中,即使 console.log(fileobject) 在已导入的数据旁边显示“pushed: * sha1 value *”,但 console.log (data)仅显示从sha1.json读取的信息,不显示我推送的任何信息。
非常感谢您的帮助!
最佳答案
JavaScript object literals用 {}
分隔(U+007B:左大括号/U+007D:右大括号),而不是 ()
(U+0028:左括号/U+0029 :右括号)。
关于javascript - 添加 key 时出现问题 : value pair to array and posting it to file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31433623/