为什么localStorage不接受我的对象?
这个问题在这里已经有了答案:
使用JSON.stringify()
设置JSON
和JSON.parse()
将JSON
转换为JavaScript对象; localStorage
需要设置一个字符串。
从使用Web存储API:
“存储对象是简单的键值存储,与对象类似,但它们在页面加载时保持不变,键和值总是字符串 (注意整数键会自动转换为字符串,就像对象所做的那样)。”
您不能在localStorage中存储复杂的Object
值。 抱歉。
相反,你应该将你的对象序列化为一个字符串[提示: JSON.stringify()
],然后在检索它从JSON字符串解析回到Object [提示: JSON.parse()
]。
localstorage
限于字符串键/值对,在存储它之前使用JSON.stringify()
,在检索它之后使用JSON.parse()
。
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('retrievedObject: ', JSON.parse(retrievedObject));
链接地址: http://www.djcxy.com/p/27933.html