繁体   English   中英

sessionStorage 不存储原始 object

[英]sessionStorage not storing original object

I have an object which I'm getting by executing a function of SDK. When I try to store the object in session storage and the retrieve the object, the retrieved object looks same as original but when I perform operations on the new object I'我收到错误。

var xyzObject = some_function();

sessionStorage.setItem("xyzObject",xyzObject);

var obj = JSON.parse(sessionStorage.getItem("xyzObject"));

obj.some_other_function();

它显示错误,因为obj.some_other_function不是 function。而xyzObject.some_other_function工作得很好。

尝试

sessionStorage.setItem('xyzObject', JSON.stringify(xyzObject);

并使用以下方法检索:

  JSON.parse(sessionStorage.getItem('xyzObject'));

您不能将对象存储在sessionStorage或localStorage中。 唯一可能的方法是对对象进行字符串化,然后将其保存在sessionStorage中,并在从sessionStorage接收到对象后,只需将对象解析为JSON。

var xyzObject = some_function();

sessionStorage.setItem("xyzObject",JSON.stringify(xyzObject));

var stringData = sessionStorage.getItem("xyzObject");

var obj = JSON.parse(stringData);

obj.some_other_function();

sessionStorage 仅将字符串存储为值。

如果要在 sessionStorage 中存储 object,则必须使用JSON.stringify()方法将 object 字符串化为 JSON 字符串。

const xyzObject = { name: "Juan" };

sessionStorage.setItem("xyzObject", JSON.stringify(xyzObject);

然后,如果要读取存储的 JSON 字符串,则必须使用JSON.parse()方法将其解析为 JavaScript object(或值、数组等)。

const xyzObjectRetrieved = JSON.parse(sessionStorage.get("xyzObject"));
// it should equal { name: "Juan" }

来源:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM