javascript - 如何使用按钮将 JSON 文件导入 Localstorage?
问题描述
我正在开发一个个人项目,它是一个 html 表,我使用 localstorage(无服务器)脱机使用 html/css/js(bootstrap,jquery)。我已经成功地将本地存储导出到 json 文件。我希望能够导入此文件并使用此 json 文件重新填充表上的数据。
我已经能够通过控制台完成此操作
出口
copy(JSON.stringify(JSON.stringify(localStorage)));
进口
var data = JSON.parse(/*paste stringified JSON from clipboard*/);
Object.keys(data).forEach(function (k) {
localStorage.setItem(k, data[k]);
});
然而,就像我说的那样,我希望能够通过前端的 JavaScript 来实现这一点。
我能够加载文件
<label for="inputId">json import</label>
<input id="inputId" type="file" style="position: fixed; top: -100em">
但是,从这里开始,我被卡住了,我最初假设浏览器(mozilla)会解析 json 并填充适当的值,但事实并非如此。我正在寻求从这里开始的步骤的帮助,即如何加载我的json文件并将其解析回localstorage,我不在服务器环境中,只是运行带有一些css和js(bootstrap,jquery)的索引html。任何帮助表示赞赏。
解决方案
我想知道您是否想要通过输入导入 json 数据?
document.querySelector('.sbm').addEventListener('click', () => {
let fileReader = new FileReader();
fileReader.onload = function () {
let parsedJSON = JSON.parse(fileReader.result);
lssave(parsedJSON);
}
fileReader.readAsText(document.querySelector('.file').files[0]);
})
function lssave(json) {
console.log(json)
}
<input type="file" class="file">
<button class="sbm">Submit</button>
推荐阅读
- javascript - 在 pixi.js 中使用 png 作为掩码容器的子项
- swift - how can i call return array from Swift class to swiftui view file
- javascript - 当ipad方向从横向更改为纵向时如何将变量设置为false,反之亦然使用javascript并做出反应?
- c# - MailKit 接收电子邮件不显示 message.Body
- c++ - 静态成员变量的 C++ 核心指南
- php - WordPress 媒体上传返回 async-upload.php 错误 404
- apache-flink - PyFlink - JSON 文件接收器?
- c# - 不一致的行为:手动返回 BadRequest 时 ASP.NET Core 中的错误响应对象
- node.js - 如何获取我刚刚插入 MongoDB 的文档的 ID?(API)
- python - Python:获取多个图像的特征