离线webapp - 存储JavaScript对象

时间:2015-10-11 17:15:49

标签: javascript html5

我想制作一个完全离线运行的简单网页浏览器控制台程序。

在该程序中,我希望以对象数组的形式存储一些数据,以便我可以轻松选择随机对象。

我的问题是,即使我查了一下互联网,包括这个问题Storing Objects in HTML5 localStorage和这个问题Offline webapp. How to store data?,我仍然不知道该怎么做。

我想找到一种方法轻松地将对象添加到我的阵列并保存这些更改,这样当我再次打开浏览器时,数据集将保持不变。

据我所知,HTML5的本地存储只以字符串的形式存储数据,所以我该怎么办?

我应该使用Node.js吗?如果是这样,我如何将数据发送回我的网络浏览器Javascript文件,以便我可以在浏览器中显示内容?

1 个答案:

答案 0 :(得分:2)

您可以使用JSON.stringify序列化对象数组,以便将其作为字符串存储在Web存储中,并在使用JSON.parse检索时对其进行反序列化:

var arrayOfObjects = [
    { foo: 'hello' },
    { bar: 'world' },
    { baz: 'dinosaurs' }
];

function storeInWebStorage(key, arr) {
    localStorage.setItem(key, JSON.stringify(arr));
}

function retrieveFromWebStorage(key) {
    return JSON.parse(localStorage.getItem(key));
}

storeInWebStorage(arrayOfObjects);

请注意there's a limit on the amount of data you can store in Web Storage,并且此限制因浏览器而异。

相关问题