Я хочу сохранить пользовательский ввод в JSON, для этого, скажем, у меня есть следующий код:
// saves data in to an object
saveData() {
let summaryValues = {
what: this.what.txt,
how: this.how.txt,
checkedValue: this.checked
};
this.savedValueArr.push(summaryValues);
},
//uses the array with the pushed object to append the JSON
saveAsJson() {
const fs = require("fs");
var content = JSON.stringify(this.savedValueArr);
fs.appendFile("testFile.json", content, err => {
if (err) console.log(err);
alert("File has been saved");
this.what.txt = "";
this.how.txt = "";
this.checked = "";
});
},
// reads JSON and pushs it to a variable
read() {
const fs = require("fs");
fs.readFile("testFile.json", "utf-8", (err, data) => {
if (err) {
alert("An error ocurred reading the file :" + err.message);
return;
}
// push parsed data back in to an array
let dataParse = JSON.parse(data);
this.test.push(dataParse);
});
}
read () и saveAs Json () являются событиями щелчка saveAs Json сохраняет данные по клику в testFile. json, read () читает testFile. json по клику, и моя первая проблема в том, что мой JSON выглядит так после того, как я заполнил его двумя массивы
[{"what":"test2","how":"test2","checkedValue":2},{"what":"test1","how":"test1","checkedValue":1}][{"what":"test2","how":"test2","checkedValue":2}]
Моя вторая проблема: если я закрываю приложение, затем снова открываю его и нажимаю на кнопку, которая имеет функцию чтения (для загрузки данных), а затем заполняю из полей и нажмите на кнопку, к которой привязана функция saveAs Json, my JSON перезаписывает старые сохраненные данные и содержит только новые. Что я не хочу, чтобы это произошло.
Я использую электрон с vue. js, если это поможет.