2017-03-15 26 views
2

當我做localStorage.getItem('user');我收到這是值:如何在本例中測試localStorage值?

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

我需要根據language值符合我的邏輯。例如,如果"language": "de"做某事,如果"language": "en"做其他事情。

如何在我的示例中匹配鍵中的值?

謝謝。

+3

如果存儲了數據作爲有效的JSON文本,您可以使用'JSON.parse'。但沒有''color''鍵的值,那將不起作用。這只是一個遺漏嗎? –

+0

是的,顏色並不重要。對此Sry說。 –

回答

5

getItem將返回,所以要做的第一件事就是分析它:

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

假設你的數據是有效的JSON(在討論的文字沒有,但看起來像它的意思是,它缺少"color":的值),這將返回解析的數據。

現在你有一個叫userDetails財產,這反過來,有一個名爲language屬性的對象,這樣你就可以通過data.userDetails.language訪問它,也許在switch

switch (data.userDetails.language) { 
    case "de": 
     // ... 
     break; 
    case "en": 
     // ... 
     break; 
} 
相關問題