我正在创建一个日历程序,我的目标是在JSON文件中保存事件等。我认为最好的方法是将数组存储在JSON文件中的数组中(这样我可以迭代遍历每个数组并在程序启动时加载它们)。
首先:如何将数组推入JSON数组?有什么建议?比方说,我有变量var event
,它等于{"id": elementTitle, "year": year, "month": month, "day": day};
的数组JSON.stringify(event)
。那么如何将其保存到已在JSON文件中创建的数组中?:events = { }
。
顺便说一下,这个程序是用电子api创建的,也使用node.js.
你可以这样做。
使用[]声明事件,表示它是一个数组。
//file.JSON
{
"events":[]
}
使用节点文件系统或“fs”模块,您可以读取和写入文件。下面的示例使用异步读取和写入,因此应用程序不会停止和等待 - 但您也可以同步执行此操作。
//app.就是
let fs = require('fs');
fs.readFile('/path/to/local/file.json', 'utf8', function (err, data) {
if (err) {
console.log(err)
} else {
const file = JSON.parse(data);
file.events.push({"id": title1, "year": 2018, "month": 1, "day": 3});
file.events.push({"id": title2, "year": 2018, "month": 2, "day": 4});
const json = JSON.stringify(file);
fs.writeFile('/path/to/local/file.json', json, 'utf8', function(err){
if(err){
console.log(err);
} else {
//Everything went OK!
}});
}
});
我有变量var事件,它等于数组{“id”:elementTitle,“year”:year,“month”:month,“day”:day}
这不是一个数组,它是一个对象
无论如何,你修改保存到磁盘的json的方法是从磁盘读取它,JSON.parse
ing它到javascript对象(或数组)修改它并用新对象(或数组)重写文件