如果可能的话,我希望能够使用速记符号从中获取项目localStorage
,然后JSON.parse()
在其上使用。
在下面的代码中,如果我使用以下代码,它可以工作:
var retrievedObject = JSON.parse(localStorage.getItem('testObject')); //works
但是,如果我使用以下两个速记选项之一,它将不起作用:
var retrievedObject = JSON.parse(localStorage.testObject); //doesn't work
var retrievedObject = JSON.parse(localStorage['testObject']); //doesn't work
我的所有代码都在 jsFiddle 下方和上:http: //jsfiddle.net/TestB/1/。
//var retrievedObject = JSON.parse(localStorage.getItem('testObject')); //works
var retrievedObject = JSON.parse(localStorage.testObject); //doesn't work
//var retrievedObject = JSON.parse(localStorage['testObject']); //doesn't work
if (retrievedObject == null) {
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.testObject = JSON.stringify(testObject);
}
else {
retrievedObject.four = 4;
// Put the object into storage
localStorage.testObject = JSON.stringify(retrievedObject);
}
// Retrieve the object from storage
var retrievedObject = JSON.parse(localStorage.getItem('testObject'));
console.log('retrievedObject: ', retrievedObject);