前端使用sessionStorage和localStorage存储json格式的数据时,浏览器查看显示object

如题

我自己存了一些数据,然后自己查看,是下面这样

clipboard.png

然后我登录Iview的时候,用浏览器查看了一下,人家的是这样的

clipboard.png

我就有点奇怪了,为什么我显示的是object,人家的就能正常显示啊,虽然我的object也能正常取值,不过我就是好奇,这个是怎么做到的,有知道的大佬吗
另外,只有json是这样,不乱是json数组还是json字符串都是object
如果只是数组,能正常显示对应的值

阅读 4.2k
5 个回答

sessionStorage 和 localStorage 只能存字符串。
所以在 setItem 的时候,如果是对象,要先 JSON.stringify() ,取的时候 在 JSON.parse()

题主存储的是object,不是json字符串。
localstoragesessionstorage理论上基本类型引用类型可以存储,但是为了避免各种支持和表现上的差异,一般存储基本类型,即数组或对象等类型,一般会转为json字符串(当然这并不绝对,因为有些引用类型无法直接转为字符串类型,比如File、Stack)
有个第三方包localforage可以了解下,支持存储任意类型。

localStorage.setItem('data', JSON.stringify(object))

必须得转成字符串!

1楼正解,还可以自己写个简单的compile()和uncompile()方法,防君子不防小人

要么自己做序列化处理,要么用第三方的包。
store.js

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