[英]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.