9

localStorageからすべての情報を取得する方法を探しています。私が抱えている問題は、ユーザーが生成したデータがどのようなものかわからないということです。LocalStorageからすべてのデータを取得する(キー名を知らずに)

ここで何が起こるかは、ユーザーがテキストを入力し、入力フォームでチェックしたチェックボックスに応じてjavascriptを使用して操作します。これらのボックスは、たとえば@のボックスをチェックするとシンボルのためのもので、テキスト+ @At(シンボルと単語)は、ローカルストレージに残りの半分がブール値(この場合は1または0)として配置されます。それがチェックされたかどうかを表す。

正確なペアは次のようになります。

someString .. @ At | 1
someString ..#ハッシュ| 0

など

また、それがうまくとしてこれを読んで他人にusfulすることができるが、他のブラウザでの互換性は、(私のために必須ではありませんので、これはクローム拡張に使用されることを意図していることに留意すべきです私はウェブ上でそれをカバーする他のものを見つけることができません)。

とにかく、実際に各キーの名前を知らなくても、localStorageのすべての値を抽出できますか? 多分、私はこれを試してみましたが、forループを使って動作させる必要があるかもしれません。

おかげで、 WEZ

答えて

18

window.localStorage.keyがソリューションです。 例:

var i = 0, 
    oJson = {}, 
    sKey; 
for (; sKey = window.localStorage.key(i); i++) { 
    oJson[sKey] = window.localStorage.getItem(sKey); 
} 
console.log(oJson); 
+0

恐ろしく、ブックマークされています。 – collin

+0

これは、すべての数値を文字列として返します。 'var value = window.localStorage.getItem(sKey);を使用して、' oJson'の型を保持します。 oJson [sKey] = value && JSON.parse(value); i ++; 'while()'の代わりに... –

関連する問題