Saving JSON in Electron
我正在用电子构建一个应用程序。在这个应用程序中,我使用JSON构建一个数据结构。我的数据结构如下:
1 2 3 4 5 6 7 | { items: [ { id:1, name:'football' }, { id:2, name:'soccer ball' }, { id:3, name:'basketball' } ] } |
我想将这个JSON保存到一个名为"data.json"的文件中。我想把它保存到一个文件中,因为我想在应用程序下次启动时加载它。我的挑战是,我不知道如何保存数据。事实上,我甚至不知道该把文件保存在哪里。我是否将其保存在与应用程序相同的目录中?或者我应该使用一些跨平台的方法?
目前,我有以下几点:
1 2 3 4 5 | saveClick: function() { var json = JSON.stringify(this.data); // assume json matches the JSON provided above. // Now, I'm not sure how to actually save the file. } |
那么,如何/在何处将JSON保存到本地文件系统以供以后使用?
我编写了一个简单的库,您可以使用它,通过一个简单的接口,它还创建了子目录,并使用承诺/回调进行工作。它将把数据保存到app.getpath("app data")中作为根文件夹。
https://github.com/ran-y/电子存储
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | storage.get(filePath, (err, data) => { if (err) { console.error(err) } else { console.log(data); } }); storage.get(filePath) .then(data => { console.log(data); }) .catch(err => { console.error(err); }); storage.set(filePath, data, (err) => { if (err) { console.error(err) } }); storage.set(filePath, data) .then(data => { console.log(data); }) .catch(err => { console.error(err); }); |
Electron缺少一种简单的方法来保存和读取应用程序的用户设置。Electron JSON存储实现了一个类似于
电子以node.js为核心。您可以使用以下内容:
1 2 3 4 5 6 7 8 | var fs = require("fs"); read_file = function(file){ return fs.readFileSync(file, 'utf8'); } write_file = function(file, output){ fs.writeFileSync(file, output); } |
它将文件写入..
esourceselectron.asar
enderer,因此用户无法访问它。