javascript - 将数组保存到 JSON 文件,然后使用 Array.push() 将数据保存在其中

标签 javascript html css arrays json

我正在创建一个日历程序,我的目标是将事件等保存在一个 JSON 文件中。 我认为最好的方法是将数组存储在 JSON 文件中的数组中(这样我可以遍历每个数组并在程序启动时加载它们)。

首先也是最重要的:如何将数组推送到 JSON 中的数组中?有什么建议么?举例来说,我有变量 var event 等于数组 {"id": elementTitle, "year": year, "month": month, "day": day}; 将被 JSON.stringify(event) 编辑。那么如何将其保存到已在 JSON 文件中创建的数组中呢?:events = { }

顺便说一下,这个程序是用 electron api 创建的,也使用了 node.js。

最佳答案

你可以这样做。

使用 [] 声明事件,表示它是一个数组。

//文件.json

{
  "events":[]
}

使用节点文件系统或“fs”模块,您可以读取和写入您的文件。下面的示例使用异步读取和写入,因此应用程序不会停止和等待 - 但您也可以同步执行此操作。

//应用程序.js

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!
            }});
   }

});

More examples

关于javascript - 将数组保存到 JSON 文件,然后使用 Array.push() 将数据保存在其中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49118572/

相关文章:

javascript - LinkedIn API - 如何在公司A中找到用户1和用户2之间的相互连接

javascript - toLocaleLowerCase() 和 toLowerCase() 的区别

html - Flexbox 子元素在未到达父元素边缘时展开父元素

javascript - 使用正则表达式分解带括号的字符串

javascript - jquery选择onclick事件

javascript:通过从文章中选择文本来显示共享按钮

javascript - 是否可以直接使用 jquery 和 Svg(无插件)?

javascript - 如何在 XUL For Firefox 附加组件中为面板设置动画

css - Twitter Bootstrap navbar-fixed-bottom 自定义高度

javascript - '杂耍异步' - 为什么我的解决方案根本不返回任何内容?