接收对象为字符串

时间:2015-12-07 17:29:19

标签: javascript

我需要访问一个对象中的一些道具,但我得到一个对象作为字符串,这个对象来自LocalStorage,我该怎么做才能访问该对象中的那些道具?

lobby: "[object Object]"有对象

2 个答案:

答案 0 :(得分:3)

localStorage存储字符串。如果您尝试保存对象,则会先调用toString(),结果为"[object Object]"

最好将其保存为JSON:

localStorage.setItem( 'apogeLiveLobbyData', JSON.stringify(tokenData.lobbyData));

并以这种方式检索

lobby : JSON.parse( localStorage.getItem('apogeLiveLobbyData') )

答案 1 :(得分:2)

您无法将对象存储到本地存储中,因为它包含字符串。所以你需要让它成为一个存储的字符串,然后解析它以使它回到一个对象。

JSON.stringify()

localStorage.setItem('apogeLiveLobbyData', JSON.stringify(tokenData.lobbyData));  

JSON.parse()

var data = JSON.parse(localStorage.getItem('apogeLiveLobbyData'));