2017-03-15 5 views
2

私はlocalStorage.getItem('user');私が値としてこれを受けないとき:この例でlocalStorageの値をテストするにはどうすればよいですか?

{ 
    "userDetails": { 
     "gender": "", 
     "language": "de", 
     "color": 
     } 
} 

私はlanguage値に応じて、私のロジックと一致する必要があります。例えば、"language": "de"が何かをする場合、"language": "en"が何か他のことをすれば。

私の例では、keyの値をどのように一致させることができますか?

ありがとうございました。

+3

データが格納されていた場合有効なJSONテキストとして 'JSON.parse'を使うことができます。しかし、 '' color ''キーの値がなければ、それは機能しません。それはちょうどここでの省略ですか? –

+0

ええ、色は重要ではありません。それについてSry。 –

答えて

5

getItem文字列を返しますので、まず最初に、それを解析している:あなたのデータを想定し

var data = JSON.parse(localStorage.getItem("user")); 

が有効なJSONである(問題のテキストはありませんが、それが意味しているように見えますつまり、"color":の値がありません)、解析されたデータが返されます。

は今、あなたは、順番に、languageと呼ばれる性質を持っている、userDetailsというプロパティを持つオブジェクトを持っているので、あなたはおそらくswitchで、data.userDetails.language経由でアクセスすることができます。

switch (data.userDetails.language) { 
    case "de": 
     // ... 
     break; 
    case "en": 
     // ... 
     break; 
} 
関連する問題