簡體   English   中英

如何在localStorage中存儲對象

[英]How to store object in localStorage

我有以下代碼:

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

當我在控制台中檢查“ActiveDataOfpModel”值時,我得到“[object Object]”。 如何將實際對象存儲在“ActiveDataOfpModel”中並檢索其屬性。 即我想做以下事情:

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

我確實嘗試過

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

但它不工作

您只能將字符串存儲在本地存儲中。

您可以使用JSON.stringify(someObject)簡單對象編碼為 JSON(它們必須僅包含 JSON 數據類型,例如對象、數字和字符串)作為字符串。

var value = JSON.parse(localStorage

……這就是之后如何將 JSON 轉換回對象。


你的代碼iHandle.find("ul li.pModel.active")暗示你沒有處理一個簡單的對象。 這是我希望返回 DOM 元素或類似元素的東西。

您需要從中提取您關心的數據,將其存儲在一個對象中,將其存儲在 JSON 和 localstorage 中,並編寫更多代碼以在提取數據時將簡單數據轉換回完整對象然后。

嘗試這個:
在保存到 LocalStorage 之前將其轉換為 String

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

從 LocalStorage 讀取時轉換回 JSON 對象

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM