在localStorage的出口数据,供以后再次进口(export Data in localSto

2019-08-02 15:04发布

我想从我的localStorage导出一些项目,保存它,但外部的格式,这样我可以稍后再导入。

我的尝试是编写可以稍后在一个文本粘贴可执行代码。 然后该textare的值将只是的eval()编辑。

问题:存储在localStorage的数据存储为

var data = [];
data.push('sampledata');
data.push({sample: 'object'});
localStorage.setItem('varname',data);

因此,它包含了各种字符,我不喜欢,喜欢”,“等

我(不工作)解决方案至今是:

var container = $('#localDataContainer');
container.append('localStorage.setItem("cockpitLastVisited","' + localStorage.getItem("cockpitLastVisited") + '");<br/>');
container.append('localStorage.setItem("cockpit_services","' + localStorage.getItem("cockpit_services") + '");<br/>');
container.append('localStorage.setItem("cockpit_users","' + localStorage.getItem("cockpit_users") + '");');

如果我的尝试似乎是好的,什么是创造,然后可以执行的方式是代码的最佳方式是什么?

Answer 1:

你可以编码对象至透过JSON.stringify(对象到字符串)字符串和字符串解码成使用JSON.parse(字符串对象)的对象。

写localStorage的

localStorage.setItem("varname",JSON.stringify(originalVarname));

从localStorage的阅读

var originalVarname= JSON.parse(localStorage.getItem("varname"));


Answer 2:

以下是如何导入/导出你的整个localStorage的

出口

copy(JSON.stringify(localStorage));

这将您的localStorage复制到剪贴板。 (您需要两个JSON.stringify()的,以获得报价逃脱)。

进口

var data = JSON.parse(/*paste stringified JSON from clipboard*/);
Object.keys(data).forEach(function (k) {
  localStorage.setItem(k, data[k]);
});


Answer 3:

只是一个改进版杰里米。 为了简化流程

copy('var data = '+JSON.stringify(localStorage)+';Object.keys(data).forEach(function (k){localStorage.setItem(k, data[k]);});');

在你需要导出控制台运行它,它复制的代码到剪贴板沿localStorage的内容,只是将其粘贴在要导入控制台。



文章来源: export Data in localStorage for later re-import