代码之家  ›  专栏  ›  技术社区  ›  Waleed Naveed

如何在localStorage中存储对象

  •  0
  • Waleed Naveed  · 技术社区  · 7 年前

    localStorage.setItem("ActiveDataOfpModel", iHandle.find("ul li.pModel.active"));
    

    当我在控制台中检查“ActiveDataOfpModel”值时,我得到“[object]”。 如何将实际对象存储在“ActiveDataOfpModel”中并检索其属性。i、 e.我想做以下工作:

    var value = localStorage.getItem("ActiveDataOfpModel").attr("data-id")
    

    我试过了

    var value = JSON.parse(localStorage.getItem("ActiveDataOfpModel")).attr("data-id")
    

    2 回复  |  直到 7 年前
        1
  •  3
  •   Quentin    7 年前

    您可以使用将简单对象编码为JSON(它们必须只包含JSON数据类型,如对象、数字和字符串)作为字符串 JSON.stringify(someObject)

    var value=JSON.parse(本地存储

    这就是以后如何将JSON转换回一个对象。


    iHandle.find("ul li.pModel.active") 意味着你不是在处理一个简单的对象。我希望返回DOM元素或类似的东西。

        2
  •  2
  •   ErShakirAnsari    5 年前

    试试这个:
    在保存到本地存储之前将其转换为字符串

    localStorage.setItem('key', JSON.stringify(data));
    

    从LocalStorage读取时,转换回JSON对象

    data = JSON.parse(localStorage.getItem('key');