可能であれば、簡略表記を使用してアイテムを取得しlocalStorage
、それを使用できるようにしたいと考えJSON.parse()
ています。
以下のコードでは、次を使用すると機能します。
var retrievedObject = JSON.parse(localStorage.getItem('testObject')); //works
ただし、次の 2 つの省略形オプションのいずれかを使用すると、機能しません。
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);