【发布时间】:2021-03-19 18:56:39
【问题描述】:
我有以下问题,我想在我的控制台中问一些问题,当我收到答案时我将它们保存在一个 json 中然后使用它们,我对 Nodejs 不是很熟悉,我想它是什么简单但对我不起作用
当尝试发送 customer.Token = answers [1]; 时,我的 json 中不再存在“令牌”。例如,如果我使用customer.Token =" Hi ";,我的 json 文件会完美更改
我需要发送用户当时给出的答案
我整个上午都在努力完成这项工作,但我找不到解决方案,如果有人知道
下面我留下我的代码
const customer = require('./db.json');
const fs = require("fs");
function jsonReader(filePath, cb) {
fs.readFile(filePath, (err, fileData) => {
if (err) {
return cb && cb(err);
}
try {
const object = JSON.parse(fileData);
return cb && cb(null, object);
} catch (err) {
return cb && cb(err);
}
});
}
jsonReader("./db.json", (err, customer) => {
if (err) {
console.log("Error reading file:", err);
return;
}
customer.Token = "HI";
fs.writeFile("./db.json", JSON.stringify(customer), err => {
if (err) console.log("Error writing file:", err);
});
});
var questions = ['Cual es tu nombre?' ,
'Cual es tu Token?' ,
'Cual es tu numero de orden?'
]
var answers = [];
function question(i){
process.stdout.write(questions[i]);
}
process.stdin.on('data', function(data){
answers.push(data.toString().trim());
if(answers.length < questions.length){
question(answers.length);
}else{
process.exit();
}
})
question(0);
y en mi JSON:
{"name":"Jabibi","order_count":103,"Token":"HI"}
【问题讨论】:
标签: javascript node.js json stdout stdin