storage.get
thardes2 opened this issue · 11 comments
I have the following code.
` var filePath = "Settings.json"
storage.set(filePath, "{'balance': 1000.21, 'num':100, 'is_vip':true, 'name':'foo'}")
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});
storage.get(filePath, (err, data) => {
if (err) {
console.error(err)
} else {
console.log(data);
}
});`
The data is written to the Settings.json under C:\Users\thardes2\AppData\Roaming\MyApp, but when I try to get them with the get function I get the following error:
The file in path C:\Users\thardes2\AppData\Roaming\MyApp/Settings.json is not a valid json file
So the format of the path is wrong. As you can see, I am just using the example provided in the README.
Any idea or solution to this?
Thank you :-)
It might be caused by the double quotes in the setter.
Try setting the json without double quotes.
For example:
storage.set('somepath.json', {prop1: 'value', prop2: 1234}
.then(...)..
If its not the case, can you paste here the data of the json file after being set?
Cheers.
Tried it this way:
storage.set(filePath, {'balance': 1000.21, 'num':100, 'is_vip':true, 'name':'foo'}) .then(data => { console.log(data); }) .catch(err => { console.error(err); });
It still gives me the same error
The written data looks like this:
{"balance":1000.21,"num":100,"is_vip":true,"name":"foo"}
Can you provide us the setting.json file in here?
Here it is
Settings.zip
Hi thardes2, there is an issue on Windows, I'll solve it as soon as I'll get to a computer!
Thank you very much. This seems to solve the issue :-)
I got the same error on windows too, is the issue come back?
Hi there. I get the same error on macOS.
var data = new Object();
data.name = name;
data.address = address;
storage.set('customers.json', data)
.then(() => {
console.log('Data saved successfully!')
})
.catch((err) => {
console.log(err);
});
It writes to the file but then when I use the get function,
var oldData = storage.get('customers.json')
.then(d => {
console.log(d);
})
.catch(err => {
console.log(err);
});
It gives me that same error.
And here is what the console gives:
Error: The file in path /Users/syncster31/Library/Application Support/ASMS/customers.json is not a valid json file
at /Users/syncster31/Documents/Programming/Electron/my-app/node_modules/electron-storage/dist/index…:37
at tryToString (fs.js:449)
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:436)
Same error for me