javascript - NeutralinoJS 存储
问题描述
这是用于编写 JSON 的 NeutralinoJS 存储 API。是否可以更新 JSON 文件(推送数据),而不仅仅是用新的 JS 对象覆盖数据。怎么做???
// Javascript Object to be stored as JSON
let data = {
bucket : 'test',
content : {
item : 10
}
}
// stores the data into JSON based data store.
Neutralino.storage.putData(data,
// executes on successful storage of data
function () {
console.log('Data saved to storage/test.json');
},
// executes if an error occurs
function () {
console.log('An error occured while saving the Data');
}
);
解决方案
该Neutralino.storage
api 采用字符串而不是 JSON 来保存到本地存储中。
您可以非常轻松地将 JavaScript 对象创建为字符串,例如:
const myUser = {
name: "John Doe",
age: 19,
married: false
}
const myUserString = JSON.stringify(myUser);
console.log(myUserString); // {"name":"John Doe","age":19,"married":false}
在这里您可以看到我们如何使用JSON.stringify
方法将我们的 JavaScript 对象转换为字符串。
现在我们还可以将生成的字符串转换回我们的 javascript 对象,例如:
const myUserString = '{"name":"John Doe","age":19,"married":false}';
const myUser = JSON.parse(myUserString);
console.log(myUser);
所以现在我们可以轻松地将我们的对象和数组存储到本地存储并轻松修改它们,例如:
async function saveToStorage(myUser) {
let myUserString = JSON.stringify(myUser);
await Neutralino.storage.setData('myUser', myUserString);
});
async function loadFromStorage() {
let myUserString = await Neutralino.storage.getData('myUser');
let myUser = JSON.parse('myUser');
return myUser;
}
saveToStorage({
name: "John Doe",
age: 19,
married: false
}).then(async () => {
let myUser = await loadFromStorage();
myUser.name = "Jane Doe"
await saveToStorage(myUser);
});
推荐阅读
- python - 如何使用 openpyxl 保存 xlsx 并获得正确的编码?【垃圾人物】
- asp.net-mvc - 找不到对象“TABLE”,因为它不存在或您没有权限
- java - WHERE 子句中的二进制值(休眠)
- java - graphql-java 嵌套解析器在不同线程中执行具有不同的 Spring 安全上下文
- c# - C#问答游戏:右单选按钮标签得分
- c - C语言文本文件中的完整方程
- svg - SVG 模糊滤镜具有硬边框
- c# - 将字典内容输出为有效html标签的明智方法?
- postgresql - PostgreSQL:单个数据库而不是整个集群的时间点恢复
- java - Apache Flink CEP 模式检测与 java