2016-11-02 3 views
0

できない私はこの1つなぜJSON.stringifyのlocalStorage

JSON.stringify(localStorage, function(key, value) { 
     console.log(key); 
     return (key.split('.')[0] === 'SUWDdb') ? value : undefined; 
}) 

を試してみましたが、それが唯一のコンソールが一つだけのエントリをログに記録し、undefinedを返します。 誰かが私に理由と解決策を与えることができますか?

答えて

1

まあ、トップレベルのものはあなたの条件を満たすものは何もありません。その場合、関数は未定義に戻ります。つまり、文字列化されていないものは何もありません。あなたはおそらくしたい:

JSON.stringify(localStorage, function(key, value) { 
    console.log(key); 
    return (typeof value === 'object' || key.split('.')[0] === 'SUWDdb') ? value : undefined; 
      ^^^^^^^^^^^^^^^^^^^^^^^^^ 
}) 

は、これは、オブジェクトに遭遇したときにJSON.stringifyが下方横断保つことができるようになります。

+0

は、私はあなたのアプローチを使用して、それが動作しますが、そんなに男をありがとうございました!!!あなたは私の人生を救ったばかりです –

0

あなたはのlocalStorageを持っていて、それがのlocalStorageが

jsonString = JSON.stringify(値[のlocalStorageオブジェクトを持つ変数である

JSON.stringify(のlocalStorage) を使い文字列化する場合だけでそれをシンプルに保ちます、replacer [、space]])

値JSON文字列に変換するJavaScriptオブジェクトです。

replacer文字列化プロセスの動作を変更する関数、またはJSON文字列に含める値オブジェクトのプロパティを選択するためのホワイトリストとして機能するStringオブジェクトとNumberオブジェクトの配列です。この値がnullまたは指定されていない場合、オブジェクトのすべてのプロパティが結果のJSON文字列に含まれます。

これはjson.stringify関数の構文で、そのないコールバック関数

+0

キーが 'SUWDdb'で始まるプロパティを省略したいというユースケースの意味はどういう意味ですか? –

+0

Var result = JSON.stringify(ローカルストレージ) –

関連する問題