【问题标题】:Receiving object as string [duplicate]以字符串形式接收对象[重复]
【发布时间】:2016-03-12 09:52:27
【问题描述】:

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

lobby: "[object Object]"有对象

【问题讨论】:

  • 您目前如何访问它?一些代码会很好。
  • 如果你只是得到"[object Object]",那么实际的对象被错误地序列化并且永远消失了。
  • 对象是如何保存到LocalStorage的?如果 "[object Object]" 是所有被存储的,那么你就不走运了。
  • 如果您需要将对象作为字符串,请尝试使用JSON.stringify(object);
  • 您设置的数据错误....这是问题所在。

标签: javascript


【解决方案1】:

localStorage 存储字符串。如果你尝试保存一个对象,它会先调用toString(),结果是"[object Object]"

您最好将其保存为 JSON:

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

并以这种方式检索它,也是

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

【讨论】:

    【解决方案2】:

    您不能将对象存储到本地存储中,因为它包含字符串。因此,您需要将其设为要存储的字符串,然后对其进行解析以将其返回到对象。

    JSON.stringify()

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

    JSON.parse()

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2016-11-23
      • 1970-01-01
      • 2018-09-04
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多