sessionStorage保存对象变成了"[object Object]"?

var aa = {a:1,b:{c:2}}
sessionStorage.setItem('aa',aa)
sessionStorage.getItem('aa')
"[object Object]"

使用sessionStorage保存一个对象时取不出值,打印出来发现变成了"[object Object]",是什么原因造成的?

阅读 12.2k
4 个回答

数据存之前先JSON.stringify()转一下字符串。正由于你直接存的是对象,所以系统自qiang动zhi帮你转了下字符串,就是[object Object]……

var aa = {a:1,b:{c:2}};
sessionStorage.setItem('aa',JSON.stringify(aa));
bbb = JSON.parse(sessionStorage.getItem('aa'));
console.log(bbb);

对象先转成json 获取的时候在转成对象。

存之前先转成json字符串,取得时候再转回来

localStorage和sessionStorage只能存字符串,会自动调用对象的toString方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题