localStorageでオブジェクトを格納する

wrote2012.05.30

localStorageは、近頃のブラウザやスマホで対応しているのでチョー便利。

そして文字列ではなく、オブジェクトを格納しようとするたびに、その方法を検索しちゃうので、いいかげん覚えたい。

テスト1

// セット
localStorage.test = {a : 'test'};

この方法だと、[object Object]という文字列が格納されるだけ・・・。

テスト2

// セット
localStorage.test = JSON.stringify({a : 'test'});
// 呼び出し
localStorage.test

この方法だと、{"a":"test"} という文字列を呼び出すだけ・・・。

ファイナルアンサー

// セット
localStorage.test = JSON.stringify({a : 'test'});
// 呼び出し
JSON.parse(localStorage.test);

これでバッチリ。

補足

ちなみにlocalStorageを扱えるかの判別処理

if (('localStorage' in window) && window['localStorage'] !== null) {
// OK
} else {
// NG
}