私は流星反応のアプリを持っており、私はいくつかの情報をローカルに保存する方法も必要です。たとえば、ユーザーがjsonを保存した場合、そのアプリケーションを閉じて後で再度開いても、同じjsonを使用したいと考えています。私はgroundDbを試しましたが、サーバー側も必要です。各ユーザーがゲームレベルなどの情報を保存できるようにするには、この機能が必要です。ネイティブ・バージョンだけでなく、ウェブ上でも使用できるなら、素晴らしいものになるでしょう。ありがとう!ローカルの永続ストレージ
答えて
お店の名前を指定し
localforage.getItem('state')
.then(data => /* ... */)
.catch(console.error.bind(console))
あなたのデータを取得し、ここでの適切な説明があります:
あなたが最初にあなたのオブジェクトリテラル変換する必要がありますグローバルJSONオブジェクトとその文字列化を使用してJSONに変換するTHOD:
let data = {a: 'some', b: 'data', c: null};
let json = JSON.stringify(data);
localStorage.setItem('data', json);
あなたがデータを取得し、あなたのアプリケーションでそれを使用したい場合は、あなたが戻ってオブジェクトリテラルにJSONをパースする必要があります:「
let json = localStorage.getItem('data');
let data = JSON.parse(json);
これは簡単です。オブジェクトをストリング化して文字列にしてから保存します。これをフォロー:のlocalStorageに保存するときに
var dataToStore = JSON.stringify(data);
localStorage.setItem('someData', dataToStore);
"JSONをストライプ化する" ---これはほとんど意味がありません。 JSONはすでに文字列です。あなたはおそらく "JSオブジェクト"または "JS配列"を意味するでしょう。 – zerkms
あなたはJSONのシリアライズ:
var serializedData = JSON.stringify(data);
localStorage.setItem('dataKey', serializedData);
とのlocalStorageから取り出すときにそれをデシリアライズ:それは非常に簡単です
var serializedData = localStorage.getItem('dataKey');
var data = JSON.parse(serializedData);
あなたが書いた内容を真剣に読んでください。「あなたはJSONをシリアル化します」--- JSONは定義上シリアル化されたデータであり、すでにストリングです。 JSONがどんなものであるかについてのこの誤解を広めてください。これは本当に** **最近の問題です。 – zerkms
うん。必要なオブジェクトを取り出し、それを文字列化してローカルストレージに格納します。 JSONオブジェクトは文字列オブジェクトであり、sayという文字列ではありません。したがって、ローカルストレージに格納するときはオブジェクトとして格納することはできませんが、json文字列に変換する必要があります。
追加する:localStorage.setItem();取得する :localStorage.getItem();
もう1つの良い方法は、ログイン時にデータを取得し、アレイに格納してからローカルストレージに保存することです。あなたは迷惑メールのデータを持っていませんし、常に最新のものにしています。
クリアするには:localStorage.clear();注:これにより、ローカルストレージ全体がクリアされます。 また、ローカルストレージにはサイズ制限があることに注意してください。ほとんどのブラウザは5〜10MBを許可します。
大量のデータがある場合は、indexedDBを使用することもできます。非常に新しいですが、大量のデータをブラウザに保存する方が優れています。今のところ私はIEが良い実装を持っていると思う。
"JSONオブジェクトは文字列オブジェクトです" ---ああ..... http://benalman.com/news/2010/03/theres-no-suchthing-as-a-json/ – zerkms
ohhh。デバッガを使用してlocalstorageがjsonをどのように格納しているかを確認することもできます。 –
localstorageは文字列化しないと受け入れられますが、問題は発生しません。そうするより良い習慣は? –
使用する標準localStorage
:https://developer.mozilla.org/en/docs/Web/API/Window/localStorage
localStorage.setItem('xyz', JSON.stringify(object));
const object = JSON.parse(localStorage.getItem('xyz'));
localForage
我々が使用する一つの選択肢は、localStorage
ための非同期ストレージ・ラッパーを提供し、あらゆるタイプのデータを保存することができますnpm
パッケージlocalforage
です。ストアを構成し、ローカルストレージの複数のインスタンスを作成できます。
どのタイプもlocalForageに格納できます。あなたはlocalStorageのような文字列に限定されません。約束(あなたがES6のAPIを使用していない場合は、コールバックを使用することもできます)
を使用して
:あなたは非同期呼び出しを使用する必要が以外
localforage
の設定
はlocalStorage
を使用する場合と似ていますデータを保存する
localforage
.setItem(
'state', data
)
.catch(console.error.bind(console))
がpedantsに参加するには
localforage.config({
name: 'myStore'
})
- 1. Herokuローカル永続ストレージ
- 2. システムワイド永続ストレージ?
- 3. ブラックベリーの永続ストレージ
- 4. ブラックベリーの永続ストレージ
- 5. Openshiftオンライン永続ストレージ
- 6. Xamarinフォームクロスプラットフォーム永続ストレージ
- 7. iPhone永続的ストレージ
- 8. Dokkuと永続ストレージ
- 9. ヘルベル経由のKubernetesのローカル永続ストレージへの展開
- 10. ReactネイティブWebviewの永続ストレージ
- 11. WKWebView Cookieの永続的ストレージ
- 12. CodeName 1つの永続ストレージ
- 13. SQLite:オブジェクトインスタンスの永続ストレージ
- 14. Firebaseデータベースの永続ストレージ
- 15. iOS永続ストレージ戦略
- 16. 永続的ストレージCocoa/MacOSX
- 17. cの永続ローカル変数
- 18. 移行PostgreSQLの永続ストレージのみ
- 19. Chrome拡張機能の永続ストレージ
- 20. iOS 6の永続ストレージ(WebSQLとローカルストレージ)PhoneGap
- 21. Docker for Mac:永続ストレージの使用
- 22. 永続ストレージからの例外ロードセッション
- 23. Chrome拡張機能の永続ストレージ
- 24. Kubernetes用の永続ストレージ(Gluster /その他のストレージ)
- 25. Ignite C++による永続ストレージ
- 26. Android用SQL Liteデータベース永続ストレージ
- 27. 永続的なストレージTo-Do App Swift
- 28. 永続的なローカルJavaScript - Chromeデバッガ
- 29. iOSのCoreDataの永続ストレージとしてのCDBStore
- 30. カスタム配列のカスタム配列の永続ストレージ
のlocalStorageはちょっと動作しますが、私はドンlocalStorageでJSONを使用する方法を知っている – user2646559
JSONは単なる文字列です。 – zerkms