Javascript 如何使用多阵列启动本地存储
我试图修改本地存储,这浪费了很多时间 最初我是这样开始的Javascript 如何使用多阵列启动本地存储,javascript,local-storage,Javascript,Local Storage,我试图修改本地存储,这浪费了很多时间 最初我是这样开始的 localStorage.setItem('bipme','{"modules": []}'); 这是可行的,但我知道我需要这个例子 { "modules" : [ { "id" : "0", "pseudo" : "Titi", "mode" : "gps", "perimetre" : "3",
localStorage.setItem('bipme','{"modules": []}');
这是可行的,但我知道我需要这个例子
{
"modules" : [
{
"id" : "0",
"pseudo" : "Titi",
"mode" : "gps",
"perimetre" : "3",
"distance" : "1",
"start" : "2012-09-23 08:00:00",
"refresh" : "08:20:00",
"last" : "2012-09-23 08:00:00"
},
{
"id" : "1",
"pseudo" : "Toto",
"mode" : "phone",
"perimetre" : "10",
"distance" : "0",
"start" : "2012-09-23 08:00:00",
"refresh" : "08:20:00",
"last" : "2012-09-23 08:00:00"
},
{
"id" : "2",
"pseudo" : "Tete",
"mode" : "gps",
"perimetre" : "5",
"distance" : "5",
"start" : "2012-08-23 08:00:00",
"refresh" : "10:20:00",
"last" : "2012-09-23 08:00:00"
}
],
"modulesIndex" : 0,
"watchPosition" : [
{
"id" : "0",
"pseudo" : "Antoine",
"phone" : "+41781234567",
"date" : "2012-05-01 17:20:00"
},
{
"id" : "1",
"pseudo" : "Barbara",
"phone" : "+41781234567",
"date" : "2012-05-27 17:20:00"
}
]
}
然后,我尝试了这个
localStorage.setItem('bipme','{"modules":[]},{"modulesIndex":0},{"watchPosition":[]}');
但现在我总是收到这个错误消息
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
[Break On This Error]
var objJSON = JSON.parse(localStorage.getItem('bipme'));
那么现在如何正确初始化本地存储
谢谢您有多个对象。如果这是您想要的,则需要对数组使用方括号:
localStorage.setItem('bipme','{"modules":[]},{"modulesIndex":0},{"watchPosition":[]}');
// Should be:
localStorage.setItem('bipme','[{"modules":[]},{"modulesIndex":0},{"watchPosition":[]}]');
如果您希望moduleIndex
等成为同一对象的一部分,则不要关闭该对象:
localStorage.setItem('bipme','{"modules":[],"modulesIndex":0,"watchPosition":[]}');
我相信你在评论中已经解决了这个问题。你有多个对象。如果这是您想要的,则需要对数组使用方括号:
localStorage.setItem('bipme','{"modules":[]},{"modulesIndex":0},{"watchPosition":[]}');
// Should be:
localStorage.setItem('bipme','[{"modules":[]},{"modulesIndex":0},{"watchPosition":[]}]');
如果您希望moduleIndex
等成为同一对象的一部分,则不要关闭该对象:
localStorage.setItem('bipme','{"modules":[],"modulesIndex":0,"watchPosition":[]}');
我相信您已经在您的评论中解决了这个问题。设计模式是,您使用JSON stringify来存储要存储的对象。例如:
var objs = {
modules : [
{
"id" : "0",
"pseudo" : "Titi",
"mode" : "gps",
"perimetre" : "3",
"distance" : "1",
"start" : "2012-09-23 08:00:00",
"refresh" : "08:20:00",
"last" : "2012-09-23 08:00:00"
}]
};
localStorage.setItem('bipme', JSON.stringify(objs));
设计模式是,对要存储的对象使用JSON字符串化。例如:
var objs = {
modules : [
{
"id" : "0",
"pseudo" : "Titi",
"mode" : "gps",
"perimetre" : "3",
"distance" : "1",
"start" : "2012-09-23 08:00:00",
"refresh" : "08:20:00",
"last" : "2012-09-23 08:00:00"
}]
};
localStorage.setItem('bipme', JSON.stringify(objs));
我刚刚发现:localStorage.setItem('bipme','{“modules”:[],““modulesIndex”:0,“watchPosition”:[]});我刚刚发现:localStorage.setItem('bipme','{“modules”:[],“modulesIndex”:0,“watchPosition”:[]});还好吗?谢谢菲利克斯,我应该仔细检查一下!(特别是因为OP已经用正确的代码进行了注释)。编辑。谢谢菲利克斯,我应该仔细检查!(特别是因为OP已经用正确的代码进行了注释)。编辑。